Oprettet man. d. 03. september 2012 kl. 17:16:45

quarkb
quarkb (12.033 point. Point ude: 0)

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.

Skrevet man. d. 03. september 2012 kl. 18:18:53| #1

claes57
claes57 (36.881 point)
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.

Skrevet man. d. 03. september 2012 kl. 19:20:22| #2

softspot
softspot (106.624 point)
blog.softspot.dk
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...

Skrevet man. d. 03. september 2012 kl. 20:02:03| #3

quarkb
quarkb (12.033 point)
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.

Skrevet tir. d. 04. september 2012 kl. 00:25:21| #4

softspot
softspot (106.624 point)
blog.softspot.dk
Jamen, så ramte jeg jo rigtigt med mit forslag om at query-parameteren ikke stemte overens med det forventede ;-)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

fejl når jeg skal opdatere en post i min database

Oprettet den 15. juni 2013 kl. 13.33
Remo_Munk_Olesen giver 100 point for svar | Giv et svar »

Siden skal Updates

Oprettet den 12. juni 2013 kl. 12.57
lordnelson giver 200 point for svar | Giv et svar »

problem med at upload en fil til mappe

Oprettet den 7. juni 2013 kl. 11.31
Remo_Munk_Olesen giver 30 point for svar | Giv et svar »







IT Kurser
Samarbejdspartnere

Udgiver · © 2013 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger