25. november 2001 - 17:14Der er
11 kommentarer og 2 løsninger
SQL update syntax error hjælp
Jeg får en syntax error fejl i følgende sql linie:
Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"../log/test.mdb\") SQLstmt = \"UPDATE navn FROM member SET navn= \'\" & FileName & \"\' WHERE memberID = \'\" & Request.querystring(\"id\") & \"\' \" Set rs = conn.Execute(SQLstmt) Set rs = Nothing
member er et tabelnavn, memberID, navn er kolonnenavne
Følgende fejl fås:
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /mmecd/nyhed/upload.asp, line 54
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
SQLstmt = \"UPDATE member SET navn= \'\" & FileName & \"\' WHERE memberID = \'\" & Request.querystring(\"id\") & \"\' \"
hvis memberID er defineret som tal i databasen: SQLstmt = \"UPDATE member SET navn= \'\" & FileName & \"\' WHERE memberID = \" & Request.querystring(\"id\")
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /mmecd/nyhed/upload.asp, line 54
hvis memberID er defineret som tal i databasen: SQLstmt = \"UPDATE member SET navn= \'\" & FileName & \"\' WHERE memberID = \" & Request.querystring(\"id\")
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression \'memberID = \'\'.
så prøv lige at sætte et \' foran så den ikke går videre - jeg vil gerne lige vide hvad du får når du skriver det jeg skrev - så er det nemmere at se hvad fejlen evt. måtte være!
prøv også evt. bare at skrive request istedet for request.querystring
Så hvis memberID er defineret som tekst i databasen: SQLstmt = \"UPDATE member SET navn= \'\" & FileName & \"\' WHERE memberID = \'\" & Request.querystring(\"id\") & \"\'\"
Og hvis memberID er defineret som tal i databasen: SQLstmt = \"UPDATE member SET navn= \'\" & FileName & \"\' WHERE memberID = \" & Request.querystring(\"id\")
SQLstmt = \"UPDATE member SET navn= \'\" & FileName & \"\' WHERE memberID = \" & RS(\"memberID\") & \" \"
Jeg har skiftet reguest.querystring ud med RS(\"memberID\") de er begge nummeriske i DB. Udskiftningen af querystrengen er inspireret af eagleeye og mathiasiversen så jeg fordelerer point lidt. Tusind tak for hjælpen /termie
Synes godt om
Ny brugerNybegynder
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.