Avatar billede alexanderan Nybegynder
26. august 2010 - 14:38 Der er 6 kommentarer og
1 løsning

ASP-problem med databasekald

Jeg skal hive data ud af en database til en indkøbskurv i en webshop.
Har uden problemer fået lavet siden som lægger data i indkøbskurven, men det er når det skal trækkes ud der volder mig problemer.

Min kode:

sql = "select * from shoppingcart where 'brugerid' = '" & unikid & "'"
response.write (sql)
rs.open sql, cn, adOpenDynamic, adLockReadOnly, adCmdText
set rs = cn.execute(sql)
brugerid = rs.fields("brugerid")
ting = rs.fields("ting")
stoerrelse = rs.fields("stoerrelse")
antal = rs.fields("antal")
pris = rs.fields("pris")

do until rs.eof
response.write "<b>" & ting & "</b>" & " - " & stoerrelse & " - " & antal & " - " & pris
rs.movenext
loop

Den kommer med fejlmeddelse:
ADODB.Field error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
på linie 30, som er brugerid = rs.fields("brugerid")

Håber der er en klog person derude der vil hjælpe mig med mit ptoblem.
Avatar billede keysersoze Guru
26. august 2010 - 15:05 #1
Dit recordset er tomt og derfor får du fejlen - hvis du ikke er sikker på om dit recordset indeholder data så pak det ind i en if;

if not rs.eof Then
  'din kode
else
  'fejl
end if
Avatar billede alexanderan Nybegynder
26. august 2010 - 15:31 #2
Problemet er at der er data i min database, ingen tomme felter.
Avatar billede keysersoze Guru
26. august 2010 - 15:47 #3
Det er meget muligt men dit recordset er stadig tomt og det er det der er det afgørende - det må altså betyde at ingen poster stemmer overens med din variabel unikid i din SQL.
Avatar billede alexanderan Nybegynder
26. august 2010 - 16:02 #4
unikid er taget direkte fra sessionid for at identificere de forskellige brugeres varer i databasen.

Kaldet ser sådan her ud med en response.write:
select * from shoppingcart where 'brugerid' = '886355802'
Avatar billede keysersoze Guru
26. august 2010 - 18:13 #5
så skal din SQL måske bare hedde

sql = "select * from shoppingcart where brugerid = '" & unikid & "'"

Det er svært at se nogen umiddelbart forklaring - men du bør i hvert falf altid pakke mulige fejl-scenarier ind som foreslået i #1.
Avatar billede alexanderan Nybegynder
26. august 2010 - 21:39 #6
Utroligt at det var intet mindre end det der skulle til.

Jeg takker og bukker :)
Avatar billede keysersoze Guru
27. august 2010 - 00:04 #7
svar :)
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