11. maj 2004 - 00:48Der er
5 kommentarer og 1 løsning
Syntax error (missing operator) in query expression
Hej jeg regner med jeg måske har et problem med adgang til min database, hvis jeg får denne fejl?
Syntax error (missing operator) in query expression ''Scriptet til at indlæse nyheder på DHL's intranet er nu klar og vil blive testet de næste dag. I vil hører mere fra webmasteren senere', '10-05-2004 23:41:16')'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: Syntax error (missing operator) in query expression ''Scriptet til at indlæse nyheder på DHL's intranet er nu klar og vil blive testet de næste dag. I vil hører mere fra webmasteren senere', '10-05-2004 23:41:16')'.
Source Error:
Line 20: myConnection.Open(); Line 21: OleDbCommand myCommand = new OleDbCommand(strSQL, myConnection ); Line 22: myCommand.ExecuteNonQuery(); Line 23: myConnection.Close(); Line 24: lblBesked.Text ="Du har oprettet en nyhed som er " + tbnyhedOverskrift.Text;
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
hej jeg har lige funde t ud af at fejlen komer når jeg bruger et ' et eller andet sted i teksten jeg skal vel bruge et eller andet replace eller skal jeg ??
string strNyhedOverskrift, strNyhedTekst; string strSQL; strNyhedOverskrift = tbnyhedOverskrift.Text; strNyhedTekst = tbnyhedTekst.Text; strSQL = "INSERT INTO nyhed (nyhedOverskrift, nyhedTekst, nyhedDato) Values ('"; strSQL += strNyhedOverskrift + "', '"; strSQL += strNyhedTekst + "', '"; strSQL += DateTime.Now + "')"; //Response.Write(strSQL); OleDbConnection myConnection = new OleDbConnection(@"Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + Server.MapPath("~/DHL/database/dhl.mdb")); myConnection.Open(); OleDbCommand myCommand = new OleDbCommand(strSQL, myConnection ); myCommand.ExecuteNonQuery(); myConnection.Close(); lblBesked.Text ="Du har oprettet en nyhed som er " + tbnyhedOverskrift.Text; btInsert.Enabled=false; }
Yep - en replace vil løse problemet. Du skal replace ' med '' så virker det. I vb.net ville jeg gøre sådan her: streng = Replace(streng, "'", "''") men c# er knap så smart. Så må man jo implementere sin en hel replace funktion:
lukker spørgsmålet da der ikke er nogle svar der virker, og der er gået for lang tid
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.