Avatar billede Slettet bruger
20. februar 2003 - 11:21 Der er 9 kommentarer og
1 løsning

Fejl i ASP

Hej eksperter
Jeg har et langt script, som jeg får syntax fejl i INSERT INTO statement hele tiden, og da jeg ikke er særlig god til ASP kan jeg ikke se fejlen, er der nogen der kan hjælpe ?
koden ser sådan ud:
<%
strDSN_bestil = "DSN=test; MaxBufferSize=512;PageTimeout=2;"

strSQL = "INSERT INTO test ("
strSQL = strSQL & "test1,"
strSQL = strSQL & "test2,"
strSQL = strSQL & "test3,"
strSQL = strSQL & "ID)"
strSQL = strSQL & "values( "
strSQL = strSQL & (request.form("test1"))
strSQL = strSQL & (request.form("test2"))
strSQL = strSQL & (request.form("test3"))
strSQL = strSQL & (request.form("ID"))

set rsPost = Server.CreateObject("ADODB.Recordset")
rsPost.Open strSQL, strDSN_bestil

%>
<%
Response.Buffer = True
%>
<html>

<head>
<title></title>

</head>

<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
</body>
</html>
Avatar billede hossein Nybegynder
20. februar 2003 - 11:32 #1
Sql = "Insert into test(test1, test2, test3,ID) values('"
Sql = Sql & Request.form("test1") & "','"
Sql = Sql & Request.form("test2") & "','"
Sql = Sql & Request.form("test3") & "',"
Sql = Sql & Request.form("ID") & ")"

din insert sætning skal rettes til det. ID har jeg betragt som en tal felt derfor er uden ' hvis det er tekst tilføj " omkring den.
Prøv og se om det kører!
Avatar billede Slettet bruger
20. februar 2003 - 12:07 #2
Jeg får denne fejl:
Microsoft VBScript compilation error '800a0409'

Unterminated string constant

aftale.asp, line 5

strSQL = "INSERT INTO test (test1,test2,test3,ID)
Avatar billede Lars Søndergaard Nybegynder
20. februar 2003 - 12:18 #3
Du skal afslutte med et "
strSQL = "INSERT INTO test (test1,test2,test3,ID)"
Avatar billede hossein Nybegynder
20. februar 2003 - 12:21 #4
sql="INSERT INTO test(test1,test2,"
sql=sql & "test3,ID)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("test1") & "',"
sql=sql & "'" & Request.Form("test2") & "',"
sql=sql & "'" & Request.Form("test3") & "',"
sql=sql & "'" & Request.Form("ID") & "')"
Avatar billede hossein Nybegynder
20. februar 2003 - 12:22 #5
lav mellemrum: sql="INSERT INTO test (test1,test2,"
Avatar billede Slettet bruger
20. februar 2003 - 12:49 #6
Nu får jeg denne fejl
Microsoft VBScript compilation error '800a0401'

Expected end of statement

aftale.asp, line 8

strSQL = strSQL & "'"request.form("test2")& "','"
---------------------^
Avatar billede hossein Nybegynder
20. februar 2003 - 13:33 #7
hvad er felternes datatype? og hvad er det du indsætter? hvis du indsætter et navn fx Smith's så skal du først fjerne ' tegn.
Avatar billede pvtsnafu Nybegynder
20. februar 2003 - 13:43 #8
Prøv følgende:
strSQL = "INSERT INTO test VALUES ("
strSQL = strSQL & "'" & replace(request.form("test1"),"'","''") & "', "
strSQL = strSQL & "'" & replace(request.form("test2"),"'","''") & "', "
strSQL = strSQL & "'" & replace(request.form("test3"),"'","''") & "', "
strSQL = strSQL & "'" & replace(request.form("ID"),"'","''") & "')"
Avatar billede Slettet bruger
20. februar 2003 - 13:50 #9
Nu har jeg fået det til at virke. Tak for hjælpen.
Avatar billede hossein Nybegynder
20. februar 2003 - 14:00 #10
selv tak!
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