02. august 2002 - 16:59
Der er
10 kommentarer og 1 løsning
Sql Query [Insert]
Hej, så er jeg her igen :) Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''Lord 0' Destruction', '1','2')'. /mdtester/nwn.builders/forum/doreply.asp, line 47 og linjen er : strSQL = "Insert into Reply ([date], [text], [author], [topicID], [authorID]) values ('" & Now() & "', '" & Request.Form("Text") & "', '" & Request.Cookies("Nick") & "', '" & Request.Querystring("topicid") & "','" & Request.Cookies("Id") & "')" Noget værre noget. Alle felterne er TEKST ... Så deeee-t.. Svare eagleeye -du har jo altid ret :) /Alle i andre må også gerne svare :D:D:D:/
Annonceindlæg fra Pax8
02. august 2002 - 17:08
#1
Hvis nogle af felterne er tomme skal man anvende kommandoen NULL. Det kan gøres på denne måde: <% function CT(Value) if Value <> "" then CT = "'" & Value & "'" else CT = NULL end function strSQL = "Insert into Reply ([date], [text], [author], [topicID], [authorID]) values ('" & Now() & "', " & CT(Request.Form("Text")) & ", " & CT(Request.Cookies("Nick")) & ", " & CT(Request.Querystring("topicid")) & "," & CT(Request.Cookies("Id")) & ")" %>
02. august 2002 - 17:10
#2
du kan måske i førte omgang prøve at udskrive strSQL som den er i dag og se om det er rigtigt at du forsøger at ligge en ' i en tekst. strSQL = "Insert into Reply ([date], [text], [author], [topicID], [authorID]) values ('" & Now() & "', '" & Request.Form("Text") & "', '" & Request.Cookies("Nick") & "', '" & Request.Querystring("topicid") & "','" & Request.Cookies("Id") & "')" Response.write strSQL
02. august 2002 - 17:10
#3
Ingen af dem er tomme/fortsætter med at blive tomme...
02. august 2002 - 17:11
#4
?? hvor blev mit svar af... Prøver igen
02. august 2002 - 17:11
#5
Hvad mener du helt præcist EE ?
02. august 2002 - 17:12
#6
Jeg ville gætte på du ligger en ' i inde i en streng. strText = Replace(Request.Form("Text"),"'", "''") strNick = Replace(Request.Cookies("Nick"),"'", "''") strSQL = "Insert into Reply ([date], [text], [author], [topicID], [authorID]) values ('" & Now() & "', '" & strText & "', '" & strNick & "', '" & Request.Querystring("topicid") & "','" & Request.Cookies("Id") & "')"
02. august 2002 - 17:14
#7
' bruges i SQL som start og slut på strenge lige som " bruges i ASP koden. Så du skal konverter en ' til to '' som så bliver tolket som en ' i databasen. Det gøres som vist med replace functionen.
02. august 2002 - 17:14
#8
Det er vist quoten inde i 'Lord 0' Destruction', der er årsagen
03. august 2002 - 13:47
#9
Nu har jeg prøvet med et andet brugernavn (Sejt) og det duer heller ikke. Fejl meddelsen: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in query expression 'Vildere.. test !'. /mdtester/nwn.builders/forum/doreply.asp, line 47
03. august 2002 - 13:48
#10
ee tænk at jeg tvivlede ? :D
03. august 2002 - 14:34
#11
For at undgå problemer med textfelter og datofelter kan du jo indsætte nye poster på nedenstående måde. Der skal ikke konverteres noget inden det gemmes i databasen. <% Set RS = Server.CreateObject("ADODB.Recordset") RS.Open "select * from reply", objConn, 1, 3 RS.AddNew RS("Date") = Now RS("text") = Request.Form("Text") RS("author") = Request.Cookies("Nick") RS("topicid") = Request.Querystring("topicid") RS("authorID") = Request.Cookies("Id") RS.Update %>
Kurser inden for grundlæggende programmering