Ich habe google gesucht und habe keine Lösung für mein Problem gefunden. Grundsätzlich habe ich einen Kommentar-Feed, der innerhalb einer Bildergalerie eingerichtet wird (ähnlich wie Facebook oder stackoverflow Kommentare). Benutzer können Kommentare schreiben und Kommentare von anderen Benutzern lesen. Das funktioniert gut. Wenn jedoch ein Benutzer einen Kommentar mit einem Apostroph zu schreiben versucht, erhalte ich ein netten kleine Web-Anwendungsfehler:Escape Sonderzeichen in SQL INSERT INTO via C#
Incorrect syntax near 's'. Unclosed quotation mark after the character string ')'.
Der Kommentar, den ich SQL bin Entsendung sind 81 Jahre. Ich möchte eine Lösung, die alle Sonderzeichen entgeht, so dass, was auch immer der Benutzer eingibt, egal was, nicht aus.
Code hinter
Fetcher.postUserComments(connectionString, imagePath, comments.ToString(), userId);
Fetcher
sqlCom.CommandText = "INSERT INTO dbo.Table(userId, imagePath, userComments, dateCommented) VALUES ('" + userId + "', '" + imagePath + "', '" + comments + "', '" + theDate + "')";
Der Datentyp String ist, und ich habe auch versucht, ein .ToString()
aber kein Glück zu tun. Vielen Dank im Voraus für hilfreiche Informationen.
Tu das nicht! Sie öffnen sich für [SQL Injection-Angriffe] (http://msdn.microsoft.com/en-us/library/ff648339.aspx). Ändern Sie Ihren Code, damit Sie alle Ihre Abfragen parametrisieren. Es wird dir sonst leid tun. –