MokosMedlem sedan juni 200720 inlägg Hej.. jag har ett problem jag hoppas att någon kan hjälpa mig med..
jag har precis konverterat min DO - LOOP till en GetRows.. och en märkbar prestandaökning var att skåda!!
men nu till ett lite annorlunda problem..
min nya array skriver ut allt.. förutom Texten som är artikelbeskrivning..
databasen är en SQL server, och fältypen för Artikel_Text är varchar(MAX)
alla andra poster hämtas snällt ut ifrån databasen.. men inte just texten..
nu skall nämnas att textfältet kan innehålla både HTML taggar samt konstiga tecken.. finns det några tecken man abolut inte får ha med i ett fält för att arrayen inte skall bli konstig?
sidan finns att beskåda på http://www.clubintersport.se/webadmin/index.asp
CompusaMedlem sedan jan. 20023 327 inlägg Hur ska vi kunna hjälpa dig om du inte postar någon kod?
Mokos skrev:
sidan finns att beskåda på http://www.clubintersport/webadmin/index.asp
Nej det gör den inte. Men här kanske? http://www.clubintersport.se/webadmin/index.asp
MokosMedlem sedan juni 200720 inlägg Sub main()
Set rs = oConn.Execute(sSql)
If Not rs.EOF Then arrRows = rs.GetRows()
rs.Close
Set rs = Nothing
' Kollar antal kolumner, startar på 0
intCols = uBound(arrRows,1)
' Kollar antal rader, startar på 0
intRows = uBound(arrRows,2)
'sCount=intRows+1
response.write("<div id='importtop'><div class='importtoptext clearleft'>"" produkter:"&sCount&"</div></div>")
For cRows = 0 to intRows
'Response.write cRows
sArtNummer=trim(arrRows(0, cRows))
sVgNummer=trim(arrRows(1, cRows))
sArtNamn=trim(arrRows(2, cRows))
sOrdPris=trim(arrRows(3, cRows))
sKampPris=trim(arrRows(4, cRows))
StartDate=cDate(arrRows(5, cRows))
EndDate=cDate(arrRows(6, cRows))
sArtikelText=trim(arrRows(7, cRows))
sSwords=trim(arrRows(8, cRows))
sSortOrder=trim(arrRows(9, cRows))
intBrandID=trim(arrRows(10, cRows))
kStartDate=cDate(arrRows(11, cRows))
kEndDate=cDate(arrRows(12, cRows))
sKampanj=cInt(arrRows(13, cRows))
intMaleSize=cInt(arrRows(14, cRows))
intFemSize=cInt(arrRows(15, cRows))
intJrSize=cInt(arrRows(16, cRows))
select case sKampanj
case True
sIcon="orange"
case False
sIcon="red"
end select
if StartDate <= DATE AND EndDate >= DATE then
sClass="active"
elseif StartDate < DATE AND EndDate < DATE then
sClass="inactive"
end if
%>
<div class="produkt_container" id="<%=sArtNummer%>">
<div id="rubrik" class="<%=sClass%>"><%=sArtNamn%></div>
<div id="img_container"><img src="http://sportartiklar.se/products/bilder/thumbs/<%=sArtNummer%>.jpg" width="125" height="125"/></div><div id="pris"></div>
<div id="prodtext"><%=sArtikelText%></div>
<div id="producticons">
<%
select case sKampPris
case "0"
response.write("<div class='producticon' onClick=""javascript:AjaxReq('"&sArtNummer&"-"&sDo&"-aktiv');""><img src='img/tag_blue.png' alt='Aktiv:"&StartDate&" - "&EndDate&"'></div>")
case else
response.write("<div class='producticon' onClick=""javascript:AjaxReq('"&sArtNummer&"-"&sDo&"-aktiv');""><img src='img/tag_blue.png' alt='Aktiv:"&StartDate&" - "&EndDate&"'></div>")
response.write("<div class='producticon' onClick=""javascript:AjaxReq('"&sArtNummer&"-"&sDo&"-kampanj');""><img src='img/tag_"&sIcon&".png' alt='Kampanj:"&kStartDate&" - "&kEndDate&"'></div>")
end select
response.write("<div class='separator'><img src='img/separator.gif'></div>")
response.write("<div class='producticon' onClick=""javascript:AjaxReq('"&sArtNummer&"-"&sDo&"-"&sVgNummer&"');""><img src='img/lightning.png' alt='Varugrupp:"&sVgNummer&"'></div>")
%>
</div>
</div>
<%
Next
end sub
MokosMedlem sedan juni 200720 inlägg Jag tänkte väl lite mer generellt vad det finns för begränsningar i antal tecken i textmassan, vilka tecken man bör undvika.. typ "Har du med > eller < så kommer arrayen att hoppa över det fältet" ... då hade jag inte behövt undra mer för då vet jag var felet ligger...
men är det så att GetRows inte har dom begränsningarna så ligger problemet nånannastans..
rg
Christian
CompusaMedlem sedan jan. 20023 327 inlägg Okej :)
Vad jag vet så ska det inte finnas någon direkt begränsning. Jag har använt GetRows mot tabell-attribut med mycket data utan problem. Felet kanske ligger i din SQL-fråga?
Hola,
Har du lust att posta sql-frågan?
MokosMedlem sedan juni 200720 inlägg typ "SELECT * FROM Prod_Artikel WHERE Prod_Clublogo=TRUE"
CompusaMedlem sedan jan. 20023 327 inlägg
Mokos skrev:
typ "SELECT * FROM Prod_Artikel WHERE Prod_Clublogo=TRUE"
Använder du alla kolumner i din VBscript-kod? Undvik SELECT * då det inte är prestandaeffektivt att göra så.
Bättre med:
SELECT Kolumn1, Kolumn2, Kolumn3, Kolumn-N ... FROM Prod_Artikel WHERE Prod_Clublogo=TRUE
Ordningen du hämtar ut kolumnerna i är samma som ordningen som de läggs i arrayen. Kan ju hända att
sArtikelText=trim(arrRows(7, cRows))
inte ens ligger på det indexet i arrayen.
MokosMedlem sedan juni 200720 inlägg Jo.. indexet ligger på rätt ställe... jag har räknat från 0 ...
när det gäller prestandan och select * så tar jag det sedan.. det primära är att få ut texten.. eller rättare sagt förstå varför inte texten skrivs ut?
MokosMedlem sedan juni 200720 inlägg Det "roliga" är också att innan när jag gjorde min gamla metod med en DO-LOOP så skrevs allt ut utan problem.. även texten.. det är bara nu när jag bytt över till GetRows som den slutat visas.. så det verkar ju inte direkt troligt att det är själva SQL frågan som är fel...eller??
CompusaMedlem sedan jan. 20023 327 inlägg Det känns ju som att datatypen på Artikel_Text (varchar(MAX)) är den som spökar. Om du har möjlighet att ändra den så kan du ju testa vad som händer.
jonneMedlem sedan jan. 20011 154 inlägg Välj ut endast den och se så att du får ut något värde. Om du får det så speca upp alla kolumner i selecten och lägg den sist.
Sen kan ju nämnas att sidan fungerar dåligt med min Firefox men det är lite offtopic.
MokosMedlem sedan juni 200720 inlägg Compusa --> skall testa att byta datatyp.. vad i SQL server motsvarar Access "PM"?
jonne--> Ja det är också nåt som är lite underligt.. jag kör XHTML 1.0 strict så den borde ju inte knasa sig i Firefox.. och det enda som är lite annorlunda är att top DIV:en som innehåller namnet på artikeln blir lite för bred, samt att när man scrollar ner så "laggar" det.. vad det nu kan bero på?
MokosMedlem sedan juni 200720 inlägg Tack Jonne.. problemet löst.. jag specade upp alla kolumner i tabellen och tog bort kolumn för kolumn i sql:en för att se om jag kunde få fram texten..
Efter att ha tagit bort hälften kom en kolumn som hette "Artikel_Search_words" .. när jag tog bort den ur SQL:en så fungerade allt som det skulle.. fråga mig inte varför..