Avatar billede bernhof Nybegynder
01. marts 2002 - 17:36 Der er 8 kommentarer og
1 løsning

RS.RecordCount = -1 ???

Hvordan kan det være, at mit recordset's RecordCount er -1 lige meget hvor mange søgeresultater jeg har?

Min kode:
------------

Set Conn = CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db.mdb")

Set RS = CreateObject("ADODB.RecordSet")
RS.ActiveConnection = Conn

RS.Open "SELECT vare_ID FROM varer"

Response.Write RS.RecordCount
Avatar billede Slettet bruger
01. marts 2002 - 18:16 #1
Du anvender en Connection-string, der understøtter denne funktion.

Prøv evt at anvende:

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT vare_ID FROM varer"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb")
rs.Open strSQL, strDSN, 1
Avatar billede bernhof Nybegynder
01. marts 2002 - 19:09 #2
nej, jeg har fået det til at virke med Microsoft Jet 4 OLEDB driveren før...

jeg mener desuden at have hørt, at den som du foreslår er langsommere end MS Jet, derfor vil jeg gerne benytte MS Jet.
Avatar billede Slettet bruger
01. marts 2002 - 20:47 #3
Tvivler på at du kan mærke nogen forskel :)
Avatar billede coltau Juniormester
02. marts 2002 - 11:00 #4
Det er ikke tale om at ændre connection-string. Du køre stadigvæk MS Jet.

Det er kun måden du laver/åbner SQL-sætningen: (CursorType)

Set RS = Server.CreateObject ("ADODB.Recordset")
RS.CursorLocation = 3 ' adUseClient / 2 = adUseServer
RS.CursorType = 3 ' adOpenStatic
RS.Open "SELECT vare_ID FROM varer", Conn, , , &H0001 ' adCmdText

Når du blot skriver:
RS.Open "SELECT vare_ID FROM varer"

vil Recordsættet være åbnet som ReadForwardOnly, hvilket kræver mindste resourcer. Men det gør at du kun kan læse fremad i recordsættet.
Her er koderne for CursorType:
Const adOpenForwardOnly = 0 ' Default
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Avatar billede coltau Juniormester
02. marts 2002 - 11:02 #5
De tre sidste understøtter RecordCount - men er forskellige på andre områder.
Avatar billede bernhof Nybegynder
02. marts 2002 - 16:04 #6
Ok - tak for hjælpen indtil videre! Jeg vender tilbage så snart jeg har fået testet det.
Avatar billede bernhof Nybegynder
04. marts 2002 - 20:52 #7
er adCmdText = &H0001 ?
Avatar billede coltau Juniormester
05. marts 2002 - 06:30 #8
Ja det er. Jeg har uploaded filen: http://asp.id-data.dk/upload/adovbs.inc som du er velkommen til at hente. Hvis du så tilføjer linien: <!--#include file="adovbs.inc"--> i starten af ASP-koden så kan du bruge konstanterne i stedet for tallene.
Avatar billede bernhof Nybegynder
08. marts 2002 - 15:49 #9
Ok.. mange tak for hjælpen .. jeg fik det endelig testet, og det virker! :)

/Mikkel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester