webForumDet fria alternativet

Databaskoppling - vad är fel ?

ASP

6 svar · 296 visningar · startad av Denniss

Medlem sedan maj 2003176 inlägg
Frågan#1

Hej !

Jag skulle ändra ursprungliga kod (det stod i readme filen så: 1. Ändra databaskoppling i filen config.asp)

Så ser det ut innan ändringen:

ConnectString = "dsn=db066_db2"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open ConnectString

Jag ändrade den till:

ConnectString = "dsn=Database/db.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open ConnectString

Felkod:Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/config.asp, line 7

Medlem sedan jan. 20032 285 inlägg
#2
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Database/db.mdb")

DSN:er måste du specifiera själv i ODBC-manageren (tror väl att den heter något sånt).

Medlem sedan maj 2003176 inlägg
#3

Nu när jag ändrade det fick jag fram ett annat fel:

Syntax error in FROM clause.

/user/login_confirm.asp, line 8

Och rad 8 ser så ut:

Set RS = Conn.Execute(SQL)

Medlem sedan juni 200032 967 inlägg
#4

Visa SQL-frågan, det är den det är fel på.

Medlem sedan maj 2003176 inlägg
#5

<%
strFalseReDirect = "/user/login.asp"
strTrueReDirect = "/index.asp"
IF Request.Form("Email") <> "" AND Request.Form("Password") <> "" THEN
SQL = "SELECT * FROM User WHERE uEmail='" & Request.Form("Email") & "' AND uPassword ='" & Request.Form("Password") & "' "
Set RS = Conn.Execute(SQL)
If RS.EOF Then
Session("Inlogged") = "False"
Session("NotValid") = "<font color=""#FF0000""><b>Fel vid inloggning!!</b><br>Inloggingsuppgifterna du angav var fel.<br>Försök igen!</font>"
Response.Redirect(strFalseReDirect)
RS.Close
Set RS = Nothing
else
Session("Inlogged") = "True"
Session("UserID") = RS("UserID")
Session("uName") = RS("uFirstName") & " " & RS("uLastName")
Session("confirmAccount") = int(RS("uStatus"))
Response.Redirect(strTrueReDirect)
RS.Close
Set RS = Nothing
end If
ElseIF Request.Form("Email") <> "" AND Request.Form("Password") = "" THEN
Session("Inlogged") = "False"
SQL = "SELECT * FROM User WHERE uEmail='" & Request.Form("Email") & "' "
Set RS = Conn.Execute(SQL)
If RS.EOF then
Session("NoneValidEmail") = "<font color=""#FF0000"">Epostadressen du angav kunde inte hittas i databasen.<br> <b>Kom</b> ihåg att du måste ange samma epostadress som du angav när du registrera dig.</font>"
Response.Redirect(strFalseReDirect)
RS.Close
Set RS = Nothing
else
strEmail = Request.Form("Email")
Session("SendMail") = "<font color=""#FF0000"">Uppgifter för inloggning skickade till adressen:<b> " & Request.Form("Email") & "</b></font>"
'Skicka mail med lösenord
Response.Redirect(strFalseReDirect)
RS.Close
Set RS = Nothing
end if
ELSE
Response.Redirect(strFalseReDirect)
END IF
Conn.Close
Set Conn = Nothing
%>

Medlem sedan jan. 20032 285 inlägg
#6

User är ett reserverat ord. Byt antingen ut namnet på tabellen (vilket är att rekomendera) eller om du är slö ändrar du SQL-frågan till:

SQL = "SELECT * FROM [User] WHERE uEmail='" & Request.Form("Email") & "' AND uPassword ='" & Request.Form("Password") & "' "
Medlem sedan juni 200032 967 inlägg
#7

Och:

  1. Visa relevant kod.
  2. Använd [kod]-taggar för läsbarhet.

Mvh,

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)