webForumDet fria alternativet

SQL-problem

6 svar · 248 visningar · startad av Moonman

MoonmanMedlem sedan apr. 200273 inlägg
#1

Halo.

Har suttit och letat runt här på forumet men inte hittat något svar.
Jag får detta fel:

Microsoft JET Database Engine error '80040e14' 

Syntax error in FROM clause. 

/check.asp, line 13

på denna kod:

<!-- #include virtual="adovbs.inc" -->
<%
cst = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
cst = cst & server.mappath("../Databas/statistik.mdb")
					
Addera = "SELECT * FROM password WHERE user = " & Request.Form("namn") & ""

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open cst

Set RecSet = Server.CreateObject("ADODB.Recordset")

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

if RecSet("password") <> Request.Form("password") then
	response.write "Du har skrivit fel användarnamn eller lösenord!"
else
	session("inloggad") = true
	Response.Redirect(fix.asp)
end if

Connect.close
Set Connect = nothing
Set RecSet = nothing
%>

Vad gör jag för fel?

mvh Alex Robsahm

@ndersMedlem sedan juni 200032 969 inlägg
#2

Password är reserverat (av ODBC om jag inte missminner mig). Byt namn på tabellen.

Mvh

aspMedlem sedan aug. 2002733 inlägg
#3

Räcker det inte med att sätta [] runt namnet?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Jo, men det är fel sätt att lösa problemet. :)
Man skall inte använda sig av reserverade ord som tabell- eller fältnamn. Punkt.

Mvh

MoonmanMedlem sedan apr. 200273 inlägg
#5

Försökte fixa det men åkte på nya saker:

Microsoft JET Database Engine error '80040e14' 

Syntax error (missing operator) in query expression 'user = Alex AND password ='. 

/check.asp, line 13
<!-- #include virtual="adovbs.inc" -->
<%
cst = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
cst = cst & server.mappath("../Databas/statistik.mdb")
					
Addera = "SELECT user, password FROM losen WHERE user = " & Request.Form("namn") & " AND password = " & Request.Form("losen") & ""

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open cst

Set RecSet = Server.CreateObject("ADODB.Recordset")

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

if RecSet.EOF then
	response.write "Du har skrivit fel användarnamn eller lösenord!"
else
	session("inloggad") = true
	Response.Redirect(fix.asp)
end if

Connect.close
Set Connect = nothing
Set RecSet = nothing
%>

Tack för allt så här långt

mvh Alex Robsahm

K@llenMedlem sedan mars 20032 667 inlägg
#6
Addera = "SELECT user, password FROM losen WHERE user = '" & Request.Form("namn") & "' AND password = '" & Request.Form("losen") & "' "

Lite ' saknades. Eftersom dina fält är av texttyp.

R/. det är inte lämpligt att ha password som fältnamn heller. ;)

MoonmanMedlem sedan apr. 200273 inlägg
#7

Ni är guld grabbar/flickor.

mvh Alex Robsahm
kroginspektionen.nu

131 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)