Avatar billede cotus Nybegynder
19. september 2003 - 16:33 Der er 10 kommentarer og
1 løsning

Får en fejl fra DB

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/main/members/validate.asp, line 8

^^ jeg får flg. fejl... why? Min fil ser ud som følger:

<%
formUser = Request.Form("user")
formPass = Request.Form("pass")

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

set rs = Conn.Execute("SELECT * FROM members WHERE nick=" & formUser)

If rs.EOF or rs.BOF Then
    Response.write "Hov hov du er vidst ikke liiige member?"
End if

strId = rs("id")
strNick = rs("nick")
strPass = rs("pass")

If formPass = strPass Then
    Session("online") = "on"
    Session("nick") = strUser
    Response.redirect "loggedin.asp"
Else
    Response.write "Hov Hov du har vidst ikke lov til at være her?"
End if

rs.Close
set rs = nothing

Conn.Close
Set Conn = Nothing
%>

Linie 8 er:
set rs = Conn.Execute("SELECT * FROM members WHERE nick=" & formUser)


På forhånd tak!

/cotus was here
Avatar billede netro Nybegynder
19. september 2003 - 16:35 #1
formUser er tom!
Avatar billede netro Nybegynder
19. september 2003 - 16:36 #2
Eller også er nick et tekstfelt.
Avatar billede netro Nybegynder
19. september 2003 - 16:38 #3
Hvis det er et tekstfelt, skal du have klammer omkring:

set rs = Conn.Execute("SELECT * FROM members WHERE nick= '" & Replace(formUser, "'", "''") & "'")
Avatar billede cotus Nybegynder
19. september 2003 - 16:38 #4
De er alle et notat eller "Memo"...
Avatar billede netro Nybegynder
19. september 2003 - 16:38 #5
Notat?? Er nick ikke bare et kort brugernavn?
Avatar billede cotus Nybegynder
19. september 2003 - 16:41 #6
Nå den virkede sgu dit forslag netro :)
Takker...
Men, når jeg så skriver:

Response.write "Hej og velkommen tilbage <b>" & Session("nick") & "</b>!"

Why skriver den så ik nick ud :*(
Avatar billede netro Nybegynder
19. september 2003 - 16:42 #7
Fordi Session("nick") er tom...
Avatar billede cotus Nybegynder
19. september 2003 - 16:43 #8
Session("nick") = strUser

^^ ?
Avatar billede netro Nybegynder
19. september 2003 - 16:43 #9
I stedet for Notat bør du bare bruge Text (det kan indeholde op til 255 tegn).
Avatar billede netro Nybegynder
19. september 2003 - 16:46 #10
Det er også noget værre rod det hele ;)

If rs.EOF or rs.BOF Then
    Response.write "Hov hov du er vidst ikke liiige member?"
End if

strId = rs("id")
strNick = rs("nick")
strPass = rs("pass")

Her forsøger du at aflæse en post fra et (måske) tomt recordsæt.

Men du må have en Session.Abandon eller Session("nick") = "" et sted på siden.
Avatar billede netro Nybegynder
19. september 2003 - 16:55 #11
Brug følgende i stedet for alt det andet.

=======================

<%
formUser = Request.Form("user")
formPass = Request.Form("pass")

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

If Request.ServerVariables("Request_Method") = "POST" Then
  set rs = Conn.Execute("SELECT * FROM members WHERE nick= '" & Replace(formUser, "'", "''") & "'")

  If rs.EOF Then
      Response.write "Hov hov du er vidst ikke liiige member?"
  Else
      strId = rs("id")
      strNick = rs("nick")
      strPass = rs("pass")

      If formPass = strPass Then
          Session("online") = "on"
          Session("nick") = strUser
          set rs = nothing
          Conn.Close
          Set Conn = Nothing
          Response.redirect "loggedin.asp"
      Else
          Response.write "Hov Hov du har vidst ikke lov til at være her?"
      End if
  End If
  set rs = nothing
End If

Conn.Close
Set Conn = Nothing
%>
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