Avatar billede marvinq Nybegynder
19. juni 2008 - 10:07 Der er 10 kommentarer og
1 løsning

Mulige kald på Recordset

Hej eksperter

Jeg synes ikke rigtig at kunne finde en definition på Recordset... Jeg tænker på følgende...

  Set rec = Server.CreateObject ("ADODB.Recordset")
  rec.Open "SELECT * FROM tabel", DataConn

Hvilke kald kan jeg nu lave på rec?? Jeg kender...

  rec.EOF
  rec.MOVENEXT

men findes der ikke flere? Jeg savner lidt noget i retningen af

rec.FIRST
rec.LAST
rec.MOVEFIRST
rec.MOVEPREVIOUS

Kan man se samtlige kommandoer et eller andet sted??

På forhånd tak
Avatar billede w13 Novice
19. juni 2008 - 10:10 #1
Du er tæt på. Jeg mener, de hedder:

.BOF
.EOF
.MoveFirst
.MoveLast
.MoveNext
.MovePrevious

Og så kan du vist også bruge:

.Move [tal]
for at hoppe til et bestemt RecordSet.
F.eks.:

.Move 5
Avatar billede marvinq Nybegynder
19. juni 2008 - 10:36 #2
Det ser meget cool ud, og det er lige nøjagtig det jeg savner... men synes ikke rigtig det virker. Får eks. følgende fejl på MoveLast

"Move Last unsupported on forward-only cursor."

Det drejer sig om at jeg har en sql liste som først kører den ene vej, og så vil jeg gerne have den til at køre den anden vej efterfølgende - for at spare et sql kald.

<%
  Set rec = Server.CreateObject ("ADODB.Recordset")
  rec.Open "SELECT * FROM tabel", DataConn

  DO
%>
...
<%
  rec.MoveNext
  LOOP WHILE NOT rec.EOF

  DO
%>
...
<%
  rec.MovePrevious
  LOOP WHILE NOT rec.BOF
%>

Men det virker bare ikke... har du en løsning??

Takker
Avatar billede w13 Novice
19. juni 2008 - 10:38 #3
"unsupported on forward-only cursor" betyder jo, at når du har sat en forward-only cursor, fungerer det ikke.

Hvordan ser din DataConn ud?
Avatar billede marvinq Nybegynder
19. juni 2008 - 10:42 #4
conStr = "driver={MySQL ODBC 3.51 Driver};"& _
"server="& SQLserveradr &";"& _
"database="& SQLdatabase &";"& _
"uid="& SQLlogin &";"& _
"pwd="& SQLpassword &";"& _
"OPTION=3"

DataConn.Open conStr
Avatar billede w13 Novice
19. juni 2008 - 10:42 #5
Avatar billede w13 Novice
19. juni 2008 - 10:44 #6
Prøv at fjerne OPTION=3-delen
Avatar billede marvinq Nybegynder
19. juni 2008 - 11:20 #7
Troede lige den var der med den guide på det link du sendte, men synes stadig ikke det virker :-/

<%
  Set rec = Server.CreateObject ("ADODB.Recordset")
  rec.CursorType = adOpenStatic
  Set rec = DataConn.Execute("SELECT * FROM table")

  rec.MoveLast
%>

Men før stadig en "Move Last unsupported on forward-only cursor." exception.

Jeg har også prøvet at slette option-delen, men det gør ingen forskel. Kan faktisk ikke lige huske hvad meningen var med option=3.

Er lidt blank.
Avatar billede w13 Novice
19. juni 2008 - 11:32 #8
Bemærk at der i artiklen står, du skal inkludere filen: http://www.4guysfromrolla.com/webtech/code/adovbs.txt
for at det virker. Det skyldes at den erstatter adOpenStatic med tallet 3. Så i stedet for at inkludere, kan du bare skrive:

<%
  Set rec = Server.CreateObject ("ADODB.Recordset")
  rec.CursorType = 3
  Set rec = DataConn.Execute("SELECT * FROM table")

  rec.MoveLast
%>
Avatar billede marvinq Nybegynder
19. juni 2008 - 12:00 #9
Stadig no good :-/

Det vil sq ikke helt som jeg vil det skidt.
Avatar billede freakstyle Nybegynder
19. juni 2008 - 13:32 #10
http://w3schools.com/ado/ado_ref_recordset.asp
Her er en liste over alle egenskaber og metoder ADO recordset har
Avatar billede w13 Novice
19. juni 2008 - 13:45 #11
Stadig samme fejlmeddelelse?
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