Avatar billede Slettet bruger
04. maj 2002 - 13:50 Der er 14 kommentarer og
2 løsninger

fejl i SQL/if

hej eksperter...

jeg har denne kode:

if session("brugerID") = rs("bruger_id") then
'vis ikke stemmefunktion
else
  sql = "SELECT * FROM tjek WHERE bruger_id=" & Session("brugerID") & " and artikel_id=" & Request.Querystring("id")
  set rs = conn.execute(sql)
  If adoRec.EOF Then
response.write "<tr><td colspan='2'><hr size='1' color='#000000'></td></tr>"
response.write "<tr><td valign='top' colspan='2'><h2><center><form action='rate.asp?id=" & rs("id") & "' method='post'>1&nbsp;<input type='radio' name='1' checked value='1'>2&nbsp;<input type='radio' name='1' value='2'>3&nbsp;<input type='radio' name='1' value='3'>4&nbsp;<input type='radio' name='1' value='4'>5&nbsp;<input type='radio' name='1' value='5'></h2></center></td></tr>"
response.write "<tr><td colspan='2'><center><input type='submit' value='Stem'></center></td></tr>"
response.write "</table>"
  else
response.write "</table>"
  end if
end if

og få denne fejl:

Microsoft VBScript runtime error '800a01a8'
Object required: 'adoRec'

hvad er der galt ?

mvh.
www.questis.dk
Avatar billede juggalo Nybegynder
04. maj 2002 - 13:52 #1
umiddelbart ser det ud som om dit recordset hedder rs og ikke adoRec (som du checker for EOF umiddelbart efter)
Avatar billede medions Nybegynder
04. maj 2002 - 13:57 #2
du skulle lave din variabel om:

if session("brugerID") = rs("bruger_id") then
'vis ikke stemmefunktion
else
  sql = "SELECT * FROM tjek WHERE bruger_id=" & Session("brugerID") & " and artikel_id=" & Request.Querystring("id")
  set rs = conn.execute(sql)
  If rs.EOF Then
response.write "<tr><td colspan='2'><hr size='1' color='#000000'></td></tr>"
response.write "<tr><td valign='top' colspan='2'><h2><center><form action='rate.asp?id=" & rs("id") & "' method='post'>1&nbsp;<input type='radio' name='1' checked value='1'>2&nbsp;<input type='radio' name='1' value='2'>3&nbsp;<input type='radio' name='1' value='3'>4&nbsp;<input type='radio' name='1' value='4'>5&nbsp;<input type='radio' name='1' value='5'></h2></center></td></tr>"
response.write "<tr><td colspan='2'><center><input type='submit' value='Stem'></center></td></tr>"
response.write "</table>"
  else
response.write "</table>"
  end if
end if

//>Rune
Avatar billede juggalo Nybegynder
04. maj 2002 - 13:59 #3
som jeg også påpegede...
Avatar billede Slettet bruger
04. maj 2002 - 14:10 #4
ok, nu får jeg ikke fejl, men den virker ikke efter hensigten:

det den skulle var at hvis:
if session("brugerID") = rs("bruger_id")
skullen den gå ned og afslutte tabelen, ellers skulle den gå ned og tjekke om der i tabellen tjek var en række, hvor bruger_id og artikkel_id var lig med selv samme

hvad gør jeg galt ?
Avatar billede Slettet bruger
04. maj 2002 - 14:15 #5
og får en ny fejl:

Exception occurred.
Avatar billede Slettet bruger
04. maj 2002 - 14:24 #6
hvae har i droppet ud igen ?
Avatar billede juggalo Nybegynder
04. maj 2002 - 14:24 #7
prøv at ændre din sql-sætning til:

sql = "SELECT * FROM tjek WHERE bruger_id=" & Session("brugerID") & " and artikel_id=" & Session("brugerID")
Avatar billede Slettet bruger
04. maj 2002 - 14:29 #8
den giver samme fejl endnu, ved at gå ind på siden uden at have stemt før ?
Avatar billede juggalo Nybegynder
04. maj 2002 - 14:31 #9
prøv at checke om din session("brugerID") skulle være tom - det ville give en exception
Avatar billede Slettet bruger
04. maj 2002 - 14:36 #10
jeg har tjekket brugerID, den er god nok, da den udskrives på et andet sted på side, men jeg har nu kortet min if ned til dette:

  sql = "SELECT * FROM tjek WHERE bruger_id=" & Session("brugerID") & " and artikel_id=" & Request.Querystring("id")
set rs = conn.execute(sql)
If rs.EOF Then
response.write "<tr><td colspan='2'><hr size='1' color='#000000'></td></tr>"
response.write "<tr><td valign='top' colspan='2'><h2><center><form action='rate.asp?id=" & rs("id") & "' method='post'>1&nbsp;<input type='radio' name='1' checked value='1'>2&nbsp;<input type='radio' name='1' value='2'>3&nbsp;<input type='radio' name='1' value='3'>4&nbsp;<input type='radio' name='1' value='4'>5&nbsp;<input type='radio' name='1' value='5'></h2></center></td></tr>"
response.write "<tr><td colspan='2'><center><input type='submit' value='Stem'></center></td></tr>"
response.write "</table>"
  else
response.write "</table>"
  end if

men den laver
denne fejl:
Exception occurred.
Avatar billede juggalo Nybegynder
04. maj 2002 - 14:41 #11
hvor har du den her fra: Request.Querystring("id")

skal du ikke bruge rs("bruger_id")?
Avatar billede Slettet bruger
04. maj 2002 - 14:43 #12
Request.Querystring("id")
bruges til at indetificere artiklen med artikel_id
Avatar billede juggalo Nybegynder
04. maj 2002 - 14:44 #13
hvad sker der på din side, sådan helt præcist?
Avatar billede Slettet bruger
04. maj 2002 - 14:49 #14
den udskriver det den skal indtil den når til SQL sætningen, hvor den melder fejl
Avatar billede juggalo Nybegynder
04. maj 2002 - 15:28 #15
udskriv din SQL sætning på skærmen - så kan du se om der er fejl i den
Avatar billede medions Nybegynder
05. maj 2002 - 12:37 #16
Thx 4 Poinz
//>Rune
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