webForumDet fria alternativet

Hämta info från SQL

3 svar · 264 visningar · startad av wazid

wazidMedlem sedan maj 2001156 inlägg
#1

Hej

Jag har tidigare bara jobbat mot Accessdatabaser, men nu börjat köra mot SQL 2000.
Har stött på en jättekonstig grej.
När jag hämtar information från en tabell så kommer jag bara åt informationen en gång....
Här följer ett exempel
-----------------------------------------------------------------------------------
Recordset1.Source = "SELECT * FROM Artikelrader Where Main_Id= "&id&" Order by Rownumber"
Recordset1.Open()

While (NOT Recordset1.EOF)
Response.Write "Längd Text=" &Len(Recordset1("Text"))
Response.Write Recordset1("Text")
Recordset1.MoveNext
Wend
Recordset1.Close()
-----------------------------------------------------------------------------------

När jag kör detta får jag utskrivet längden på "Text" men bara tomt där själva texten skulle skrivits ut.
Byter jag plats Response.write raderna så skrivs texten ut, men längden blir noll!
Text är av datatypen Text.
Varför kommer jag inte åt infon mer än en gång i sökningen.
Troligtvis nåt enkelt, men jag kommer inte på det.

Hälsningar

David

PaceMedlem sedan juni 20019 024 inlägg
#2

Textfält töms efter att de använts första gången. Så istället får du spara ned till en lokal variabel:

strText = Recordset1("Text")
Response.Write "Längd Text=" & Len(strText) 
Response.Write strText
wazidMedlem sedan maj 2001156 inlägg
#3

Så enkelt det kan vara!!!

Är det specifikt för SQL 2000?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det är ADO och det har inget med SQL server att göra.

Förmodligen så behöver du inte använda datatypen text, det går nog lika bra med varchar. Det kan varra som mest 8000 tecken i en varcharkolumn. Om du inte skall lagra mer än 8000 tecken i kolumnen så tycker jag att du skall byta.

205 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
202 ms — hämta tråd, inlägg och bilagor (db)