Hej. Jag har skrivit en kurs om detta, som dock inte är helt klar. Den heter: Hej.ODBC problem.
Jag har inte hållit på med asp / vb speciellt länge och har nu råkat ut för följande problem:
Jag har en asp sida där man ska kunna söka med wildcard i en databas och få upp alla matchande resultat i en lista. (Resultaten används även internt i sidan för att söka fram andra resultat från samma databas så det blir en hel del recordsets.)
Problemet är att jag får fram ca: 45 poster sedan kommer följande meddelande:
Microsoft OLE DB Provider for ODBC Drivers error '8007000e'
[Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.
/katta/asp2.asp, line 300
Först kunde jag bara öppna 7 innan detta meddelandet kom upp, men så stuvade jag om i asp sidan så att jag kunde stänga recorseten så tidigt som möjligt och då kom jag upp i 45 poster. Tyvärr skulle jag, om det är möjligt, behöva få fram ännu fler poster och nu går det inte att stänga de som finns tidigare så här.
Går det att komma förbi detta? Om det inte går, är det möjligt att skriva någon kodsnutt som "stänger av" scriptet när detta händer så att detta meddelandet inte visas på sidan? (Typ någon on error sats?)
En annan variant kanske är att dela upp sökresultaten på flera sidor med kod liknande:
DIM currentPage, rowCount, i
currentPage = TRIM( Request( "currentPage" ) )
if currentPage = "" then currentPage = 1
Set Con = Server.CreateObject( "ADODB.Connection" )
Con.Open "Kattas"
Set RS1 = Server.CreateObject( "ADODB.Recordset" )
RS1.CursorType = adOpenStatic
RS1.PageSize = 1
RS1.Open "SELECT SATS", Con
RS1.AbsolutePage = cINT( currentPage )
rowCount = 0
While not RS1.EOF and rowCount < RS1.PageSize
osv
Problemet jag har med den koden är att den fungerar inte när man använder sig av request.querystring. Finns det någon som vet hur man gör?
Mvh
KatarinaSv: ODBC problem.
http://www.pellesoft.nu/learn/asp/sokmotor/sokmotor.htm
Kolla på den och se hur du kan göra.
/PelleSv: ODBC problem.
Den koden fungerar faktiskt med wildcards, jätte tack!
En dum fråga till bara, när man sökt med wildcard och alla sidorna listas, så blir det en enda lång rad (en sökning gav 400 sidor trots att jag angav 40 träffar per sida) så man måste scrolla i sidled och det ser ganska trist ut. Går det att göra någon automatisk radbrytning?
Katarina
Ps: Jag såg också att den lägger till en länk extra för sidorna. Tex, 3 sidor, men 4 länkar, alltså en sida som kommer fram helt tom. Har jag gjort fel någonstans?