Toon posts:

[ASP] INSERT INTO foutmelding

Pagina: 1
Acties:

Verwijderd

Topicstarter
IK krijg op mijn page de volgende foutmelding:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

Het zou gaan om de volgende tekst:
<%
vnaam = Request.Form("vnaam")
anaam = Request.Form("anaam")
email = Request.Form("email")
user = Request.Form("user")
pass1 = Request.Form("password1")
seclevel = Request.Form("seclevel")
Set dbConn2 = Server.CreateObject("ADODB.Connection")
dbConn2.Open "login"
SQL = "INSERT INTO accounts (username,password,vnaam,anaam,email,level) VALUES ('" & user & "','" & pass1 & "','" & vnaam & "','" & anaam & "','" & email & "','" & seclevel & "')"
dbConn2.Execute(SQL)
if dbConn.errors.count = 0 then
Response.Write "Alles is goed gegaan.<br><br>"
else
Response.Write "Er is wat fout gegaan.<br><br>"
end if
dbConn2.Close
%>

Kan iemand mij zeggen wat hiet fout gaat?

Verwijderd

Password is een gereserveerd woord. Gebruik iets anders.

[tip]
Google Zoeken op foutcode geeft al bij de 1e link het goede antwoord d8 ik

Verwijderd

Topicstarter
Op maandag 07 januari 2002 16:17 schreef ml1 het volgende:
Password is een gereserveerd woord. Gebruik iets anders.

[tip]
Google Zoeken op foutcode geeft al bij de 1e link het goede antwoord d8 ik
Waarom gaat dit dan wel goed?
<%
user=Request.Form("username")
passwd=Request.Form("userpassword")
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open "login"
SQL = "SELECT * FROM accounts WHERE username='"
SQL = SQL & user & "'"
Set rsResult = dbConn.Execute(SQL)

if rsResult.EOF then%>
<script language="JavaScript">
function logout(){
alert("Deze login naam bestaat niet!");
history.go(-1)
}
document.writeln(logout())
</script>
<%Response.End
end if
if rsResult("password")=passwd then
Session("user")=rsResult("username")
Session("passwd")=rsResult("password")
Session("vnaam")=rsResult("vnaam")
Session("anaam")=rsResult("anaam")
Session("email")=rsResult("email")
Session("securitylevel")=rsResult("level")
if Session("securitylevel")<3 then
Session.Timeout=60
else
Session.Timeout=600
end if
Response.Redirect("xxx.asp")
else%>
<script language="JavaScript">
function logout(){
alert("Password is niet correct!");
history.go(-1)
}
document.writeln(logout())
</script>
<%Response.End
end if
rsResult.Close
dbConn.Close
Set rsResult = Nothing
Set dbConn = Nothing
%>

Verwijderd

1. Das verschil tussen een SELECT * en INSERT INTO
en
2. Niet consequent zijn van MS

Verwijderd

Topicstarter
Op maandag 07 januari 2002 16:29 schreef ml1 het volgende:
1. Das verschil tussen een SELECT * en INSERT INTO
en
2. Niet consequent zijn van MS
MS???

Verwijderd

MicroSoft

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Ik meen dat dat verandert is bij Access2000. Daarvoor werkte het nog prima, maar daarna niet meer.. (kwamen we achter toen we een testsite op een collega z'n pc ragde die Access2k had en wij nog Access97...).

Exact expert nodig?


Verwijderd

Dat zou best kunnen. Beter is om dit soort problemen te voorkomen om dan ook andere namen te gebruiken.
Gebruik voor bijv:
- velden: fldNaam, fldPassword, etc...
- tabellen: tblMijnTabel, tblAndereTabel

etc...

zou krijg je dit soort problemen niet (of die kans is vrijwel 0 eigenlijk, je weet nooit hoe krom MS opeens gaat denken).

Verwijderd

ff een tip voor volgende keer:
Response.Write SQL
dit moet je na dat je de SQL gevuld heb zetten en voor dat je hem execute (dbConn2.Execute(SQL))
Misschien een Response.End er achter maar dat moet je zelf weten.


en dan ff die string kopieren en dan in Access -> SQL plakken, dan krijg je een fout melding van Access en die gaat met zijn cursor bij het geen er fout is staan.
Pagina: 1