Avatar billede quarkb Nybegynder
03. september 2012 - 17:16 Der er 1 kommentar og
3 løsninger

Udtræk fra Access database i asp

Hvorfor vil nedenstående ikke virke:

UgeseddelNr = Request.QueryString("UgeseddelNr")
sql = "SELECT * FROM [Ugeseddel] WHERE UgeseddelNr = '" & UgeseddelNr & "'"
Set rs = Server.CreateObject("ADODB.RecordSet")   
rs.Open sql, conn, 3,3
if rs.bof or rs.eof then
response.write "hmm!"
else
BrugerID        =    rs.Fields("BrugerID")
end if
rs.close
set rs = nothing

Jeg får rs.bof or rs.eof hver gang, men hvis jeg sætter UgeseddelNr = "A0809661410362012" som er det samme som Request.QueryString("UgeseddelNr") giver, så virker det.
Avatar billede claes57 Ekspert
03. september 2012 - 18:18 #1
1) du vil ALDRIG få BOF med mindre du har en post fundet, og læser baglæns i tabellen - glem alt om at teste på det.


2) lige efter linjen
sql = "SELECT * FROM [Ugeseddel] WHERE UgeseddelNr = '" & UgeseddelNr & "'"
så stop resten af kaldet, og lav i stedet en
response.write sql
bare for at se, om du har data med over, og at pinger er vist på begge sider af data.
Avatar billede softspot Forsker
03. september 2012 - 19:20 #2
Hvordan kalder du ASP-filen med den viste kode?

Er det en formular du sender afsted? I så fald skal du måske hente værdien i request.form i stedet for request.querystring...

Er du sikker på at den querystring-parameter du sender til siden (i url'en du kalder siden med), er stavet korrekt?

Ikke at det løser dit problem, men det er hurtigere (det performer bedre), hvis du bruger en "firehose"-cursor, noget i stil med dette:


UgeseddelNr = Request.QueryString("UgeseddelNr")
sql = "SELECT * " & _
      "FROM [Ugeseddel] " & _
      "WHERE UgeseddelNr = '" & UgeseddelNr & "'"

Set rs = conn.Execute(sql)   

if rs.eof then
  response.write "hmm!"
else
  BrugerID = rs("BrugerID")
end if

rs.close
set rs = nothing
conn.close
set conn = nothing


En anden ting du bør undersøge (hurtigst muligt) er brugen af parametre til kald af databasen. Det vil på sigt spare dig for en masse bøvl med sites der mister data (og kunder) eller det der er værrere...
Avatar billede quarkb Nybegynder
03. september 2012 - 20:02 #3
Jeg har fundet fejlen, siden som der senders videre fra, var der kommet et mellemrum ind i response.redirect linjen hvor UgeseddelNr bliver indlæst. Så request.querystring startede med et mellemrum.

Jeg vil gerne give jer lidt point for jeres tid, så hvis i begge laver et svar, er der lidt point til jer begge to.
Avatar billede softspot Forsker
04. september 2012 - 00:25 #4
Jamen, så ramte jeg jo rigtigt med mit forslag om at query-parameteren ikke stemte overens med det forventede ;-)
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