Avatar billede obhat Nybegynder
02. februar 2004 - 12:15 Der er 12 kommentarer og
1 løsning

Undtagelse opstod

Jeg får periodeisk fejlen "undtagelse opstod" i linien:

if rs ("saldo") => 10 then

Hvorfor?
Hele sætningen ses her:

<%

AccessDataBase = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/spilleautomat.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open AccessDataBase
    Set rs = Conn.Execute("SELECT saldo, godkendt, email FROM members WHERE email = '"&replace(session("email"), "'", "''")&"' ")
if rs ("saldo") => 10 then
else
response.redirect ("close.asp")
end if

if rs ("godkendt") = 1 then
response.redirect ("open.asp")
   
end if
Conn.Close
Set Conn = Nothing
Set rs = Nothing
   
%>
Avatar billede Slettet bruger
02. februar 2004 - 12:29 #1
set rs = ...
if rs.bof or rs.eof then
response.write "Ingen saldi"
end if

if int(rs("saldo")) >= 10 then
' saldoen er >= 10
else
response.redirect ("close.asp")
end if
Avatar billede obhat Nybegynder
02. februar 2004 - 12:44 #2
Vil det kunne løse problemet?
Hvad har jeg gjort forkert og hvad betyder?

if rs.bof or rs.eof then
Avatar billede Slettet bruger
02. februar 2004 - 12:45 #3
if rs.bof or rs.eof then
evaluerer på OM der overhovedet ER nogen poster i den aktuelle forespørgsel - og er nødvendig fordi det ikke giver mening hvis man efterfølgende evaluerer på om rs er >= 10, hvis der nu slet ikke ER nogen poster at evaluere på :)
Avatar billede obhat Nybegynder
02. februar 2004 - 12:50 #4
okay og hvad med "int" i linien og de ekstra paranteser?
if int(rs("saldo")) >= 10 then
Avatar billede Slettet bruger
02. februar 2004 - 12:54 #5
int sikrer bare at det der er i rs("saldo") bliver "castet" til en int - i tilfælde af at felt-typen var noget andet.
Avatar billede obhat Nybegynder
02. februar 2004 - 12:56 #6
Okay prøver :-)
Avatar billede obhat Nybegynder
02. februar 2004 - 13:01 #7
Har lige konstateret at fejlen åbenbart kun opstår når der er mere end 1 bruger på systemet, kan det tænktes at Access fejler?
Avatar billede Slettet bruger
02. februar 2004 - 14:42 #8
jeg tror det sker fordi session("email") er tom - og derfor er forespørgslen tom
Avatar billede obhat Nybegynder
02. februar 2004 - 15:01 #9
Hvordan kan session("email") være tom, egenlig vel kun hvis brugeren er blevet logget af??
Session timeout står til 60 min. og problemet opstår også først når der er mere end 1 bruger på systemet.
Avatar billede Slettet bruger
02. februar 2004 - 15:04 #10
prøv lige øverst i dit script at skrive

response.write session("email")

og se hvad der sker
Avatar billede obhat Nybegynder
02. februar 2004 - 15:41 #11
Så skriver den bare min email adr.
Avatar billede obhat Nybegynder
06. februar 2004 - 12:57 #12
Uanset de ting jeg har prøvet får jeg stadig fejlen "undtagelse opstod" når der er mere en 1 bruger på systemet?
Nogen god ide til hvad der kan være galt?
Avatar billede obhat Nybegynder
07. februar 2004 - 16:25 #13
Eller kan det skyldes at jeg åbner og lukker database forbindelsen mange gange?
Hvad vil der ske hvis jeg evt. lader forbindelsen stå åben?
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