Avatar billede bobbedude Nybegynder
29. januar 2002 - 10:02 Der er 9 kommentarer og
1 løsning

True eller hvad

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("innovation.mdb")

strSQL = "SELECT userid,active FROM tuser WHERE (name = '" & strUID & "') AND (password = '" & strPWD & "')"

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then

intUID = rs("userid")
Else

strERR = "Ingen adgang"
End If


if rs("active") = "False" then
response.redirect("error.asp")
end if


Når jeg prøver at logge ind får jeg fejlen:

error '80020009'
Exception occurred.

/innovation/login.asp, line 25

Linie 25 er:
if rs("active") = "False" then

active er et ja/nej felt i databasen.
Avatar billede agony Nybegynder
29. januar 2002 - 10:07 #1
prøv at fjerne "" omkring dit false
Avatar billede bobbedude Nybegynder
29. januar 2002 - 10:09 #2
giver samme fejl
Avatar billede agony Nybegynder
29. januar 2002 - 10:09 #3
det er jo ikke en string men en boolean du tester på :)
Avatar billede agony Nybegynder
29. januar 2002 - 10:10 #4
prøv at lave en response.write rs("active") og se hvad den skriver så er det nemmere at tilrette koden.
Avatar billede bobbedude Nybegynder
29. januar 2002 - 10:22 #5
Så virker det:


strSQL = "SELECT userid,active FROM tuser WHERE (name = '" & strUID & "') AND (password = '" & strPWD & "')"

Set rs = myConn.Execute(strSQL)
If Not rs.EOF Then

intUID = rs("userid")


response.write rs("active")

if rs("active") = False then
response.redirect("error.asp")
end if

Else

strERR = "Ingen adgang"
End If

jeg havde sat
if rs("active") = False then

på den forkerte side af end if
Avatar billede agony Nybegynder
29. januar 2002 - 10:24 #6
ja oki det var jo ikke til at se ud fra den stump kode, men nu virker det og det er jo det vigtigste :)
Avatar billede bobbedude Nybegynder
29. januar 2002 - 10:29 #7
æv jeg tog fejl det virker stadig ikke
Avatar billede bobbedude Nybegynder
29. januar 2002 - 10:30 #8
If Request.Form("Action") = "Login" Then

strUID = Trim(Replace(Request.Form("username"),"'",""))
strPWD = Trim(Replace(Request.Form("password"),"'",""))

If Len(strUID) > 0 And Len(strPWD) > 0 Then

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("innovation.mdb")

strSQL = "SELECT userid,active FROM tuser WHERE (name = '" & strUID & "') AND (password = '" & strPWD & "')"

Set rs = myConn.Execute(strSQL)
If Not rs.EOF Then

intUID = rs("userid")

if rs("active") = "no" then

end if

Else
response.write rs("active")
strERR = "No ACCES"
End If


Jeg får fejlen:

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Avatar billede agony Nybegynder
29. januar 2002 - 10:31 #9
så er der måske noget i vejen med dit sql
Avatar billede bobbedude Nybegynder
29. januar 2002 - 10:33 #10
ja det ser sådan ud
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