25. december 2003 - 22:17
Der er
10 kommentarer og 1 løsning
En SQL - fejl!
Hej Function fixQuotes( theString ) fixQuotes = Replace( theString, "'", "''" ) End Function strSQL = "Insert into konkurrencesvar (konkurrenceid, ip, svar, navn, adresse, post, by, mail)" strSQL = strSQL & " values('" & request.querystring("id") & "', " strSQL = strSQL & "'" & request.ServerVariables("REMOTE_ADDR") & "', " strSQL = strSQL & "'" & replace(request.form("svar"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("navn"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("adresse"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("post"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("by"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("mail"),"'","''") & "')" Conn.Execute(strSQL) Men jeg får fejlen: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. Help me! Mvh. Langfinger
Annonceindlæg fra Pax8
25. december 2003 - 22:18
#1
by er et reserveret ord i sql, så lav det om til eks. bynavn
Slettet bruger
25. december 2003 - 22:19
#2
Du skal ikke have "" uden om INSTERT INTO...
25. december 2003 - 22:19
#3
eller man kan sætte [] omkring [by]
25. december 2003 - 22:19
#4
eller bare skriv [by] i SQLen: strSQL = "Insert into konkurrencesvar (konkurrenceid, ip, svar, navn, adresse, post, [by], mail)" pac, jo man skal
25. december 2003 - 22:21
#5
Efter at have sat [] omkring by får jeg fejlen: Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
25. december 2003 - 22:23
#6
Hvis du har nogle tal kolonne skal der ikke ' omkring eksvis hvis konkurrenceid en tal kolonne så prøv uden ' i vavlues delen: strSQL = strSQL & " values(" & request.querystring("id") & ", "
25. december 2003 - 22:25
#7
strSQL = "Insert into konkurrencesvar (konkurrenceid, ip, svar, navn, adresse, post, [by], mail)" strSQL = strSQL & " values(" & request.querystring("id") & ", " strSQL = strSQL & "'" & request.ServerVariables("REMOTE_ADDR") & "', " strSQL = strSQL & "'" & replace(request.form("svar"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("navn"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("adresse"),"'","''") & "', " strSQL = strSQL & "" & replace(request.form("post"),"'","''") & ", " strSQL = strSQL & "'" & replace(request.form("by"),"'","''") & "', " strSQL = strSQL & "'" & replace(request.form("mail"),"'","''") & "')" Conn.Execute(strSQL) Fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
25. december 2003 - 22:27
#8
Prøv at udskirve SQL sætningen i stedet for at execute den så det tit lettere at se evt fejl. Response.Write strSQL Response.End Conn.Execute(strSQL) Er post nummeretet udfyldt på formen?
25. december 2003 - 22:30
#9
Hvis din SQL ser fin ud, men data til alle kolinner så prøv også at tjekke at alle kolonnenavn er skrevet rigtigt eks: mail eller email? Prøv evt at vise det output du får her.
25. december 2003 - 22:31
#10
Fandt med hjælp fra eagleeyes forklaring fejlen, want points ?
25. december 2003 - 22:32
#11
ok, jeg kan da smide et svar så bestemmer du ;)
Kurser inden for grundlæggende programmering