08. oktober 2002 - 23:33
Der er
21 kommentarer og 3 løsninger
Underlig fejl?
Jeg får pludeslig følgende fejl uden at jeg har rodet i scriptet eller databasen... Men hvorfor og er der nogen der kender til hvad der skal gøres? Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Id ='.
Annonceindlæg fra gavdi
08. oktober 2002 - 23:35
#1
formentlig fordi du mangler at indsætte en værdi i ID prøv at kom med din sql
08. oktober 2002 - 23:35
#2
Omklamre ID med [ og ] altså strSQL = "SELECT * FROM tabel WHERE [ID] = 12" Fejlen opstår pga. ID er et reseveret ord i Access... //>Rune
08. oktober 2002 - 23:37
#3
De betyder du ikke får overført en id til filen som den forvendte filnavn.asp?id=XXXX '<--- id=xxx mangler derfor kommer fejlen. Så vidt jeg kan se er det i en SQL sætning eks på where delen: ... WHERE id = " & Request.querystring("id") Så bliver det til ... WHERE id = " Så kommer fejler når man udføre SQL sætningen.
08. oktober 2002 - 23:41
#4
Hvor skal det indsættes? <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN Posted = 0 If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then strSQL = "SELECT * FROM Forums WHERE (ID = " & Request("ForumID") & ")" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then intForumID = rs("ID") strForum = rs("Forum") End If Else strSQL = "INSERT INTO Entries" If Len(Trim(Request.Form("MessageId"))) = 0 Then strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread)" strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "', TRUE);" Sql = "Select * from Entries Where Id =" & request("MessageId") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open Sql, myConn, 3, 3 rs("lastreply") = now() rs.Update rs.close Else tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")" Set tempRS = myConn.Execute(tempSQL) strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject)" strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "','" & DBFix(Trim(Request("MessageId"))) & "','" & DBFix(Trim(tempRS("Subject"))) & "' );" tempRS.Close Sql = "Select * from Entries Where Id =" & request("MessageId") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open Sql, myConn, 3, 3 rs("lastreply") = now() rs.Update rs.close End If myConn.Execute(strSQL) Posted = 1 End If myConn.Close %>
08. oktober 2002 - 23:43
#5
hvilken linie går det galt i?
08. oktober 2002 - 23:43
#6
21 rs.Open Sql, myConn, 3, 3
08. oktober 2002 - 23:45
#7
Det er så i denne SQL sætning som giver problemmet: Sql = "Select * from Entries Where Id =" & request("MessageId") Det kunne tyde på du ikke får overført MessageId til asp filen??
08. oktober 2002 - 23:46
#8
det ved jeg ikke. der har ikke været problemer før nu
08. oktober 2002 - 23:50
#9
Kan du se filnanvet i browseren?? så tjek at der står filnavn.asp?messageId=XXX
08. oktober 2002 - 23:51
#10
ikke problemer før nu? hvad har du ændret, lavet eller ikke lavet? ligger det evt et sted vi kan teste og se det?
08. oktober 2002 - 23:51
#11
så skriver den Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Extra ) in query expression '(ID = )'.
08. oktober 2002 - 23:53
#12
Prøv lige at vis SQL sætnigen lige inden linie 21 som fejler..
08. oktober 2002 - 23:53
#13
dette er linie 20 i scriptet. Set rs = Server.CreateObject("ADODB.Recordset")
08. oktober 2002 - 23:54
#14
Det skal være linie 19. En linie som starter med strSQL =
08. oktober 2002 - 23:56
#15
linie 18 strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "', TRUE);"
09. oktober 2002 - 00:00
#16
det kan godt være du ikke har rette i koden men der er noget i koden som ikke er heldigt... Denne if sætning tjekke om messageID er tom: If Len(Trim(Request.Form("MessageId"))) = 0 Then inden i then delen laver og udføre du denne SQL sætning: Sql = "Select * from Entries Where Id =" & request("MessageId") Så det vil give fejl... Enten gør du noget som du aldig har gjort før i dit forum eller også er der ændret i koden...
09. oktober 2002 - 00:01
#17
Hvad skal jeg ændre til hvad?
09. oktober 2002 - 00:06
#18
Umiddelbart uden at kende noget til resten af koden ... så skal du prøve at udkommentere disse linier inde i denne then del som dette: If Len(Trim(Request.Form("MessageId"))) = 0 Then strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread)" strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "', TRUE);" ' Sql = "Select * from Entries Where Id =" & request("MessageId") ' Set rs = Server.CreateObject("ADODB.Recordset") ' rs.Open Sql, myConn, 3, 3 ' rs("lastreply") = now() ' rs.Update ' rs.close Else Resten af koden skal være som før.
09. oktober 2002 - 09:50
#19
det ser ud til at virke, men før stod indlægene i dato orden, det er pludeslig væk nu. Kan det rettes til?
09. oktober 2002 - 17:03
#20
Så skal det være i den del af koden som viser posterne.. Du kan tilføje ORDER BY dato
11. oktober 2002 - 21:44
#21
Hvor skal det indsætte? det skal vel indsætte i ovenstående script?
11. oktober 2002 - 21:50
#22
Det skal sættes ind hvor den SQL som udskriver fra databasen.. Så vidt jeg kan se er den kode du har vist en del som opdater databasen med en ny besekd??
30. december 2002 - 12:57
#23
nips :> der sker vist ikke mere her! luk venligst spørgsmålet :> Gizom
04. januar 2003 - 05:26
#24
Thx 4 Poinz //>Rune
Kurser inden for grundlæggende programmering