Ho cercato su google e non ho ancora trovato alcuna soluzione per il mio problema. Fondamentalmente ho un feed di commenti che è impostato all'interno di una galleria di immagini (simile a commenti di stackoverflow o di Facebook). Gli utenti possono postare commenti e leggere commenti postati da altri utenti. Funziona bene Tuttavia, se un utente tenta di inviare un commento con un apostrofo, ho un bel po 'di errore di applicazione web:Escape caratteri speciali in SQL INSERT INTO tramite C#
Incorrect syntax near 's'. Unclosed quotation mark after the character string ')'.
Il commento che sto postando a SQL è 81 di. Sto cercando una soluzione che sfugga allo a tutti i caratteri speciali in modo che qualunque sia l'utente digita, non importa cosa, non si verifica un errore.
Codice Dietro
Fetcher.postUserComments(connectionString, imagePath, comments.ToString(), userId);
Fetcher
sqlCom.CommandText = "INSERT INTO dbo.Table(userId, imagePath, userComments, dateCommented) VALUES ('" + userId + "', '" + imagePath + "', '" + comments + "', '" + theDate + "')";
Il tipo di dati è una stringa e ho anche provato a fare un .ToString()
ma senza fortuna. Grazie in anticipo per qualsiasi informazione utile.
Non fare questo! Ti stai aprendo a [SQL Injection attacks] (http://msdn.microsoft.com/en-us/library/ff648339.aspx). Cambia il tuo codice in modo da parametrizzare tutte le tue query. Sarai dispiaciuto diversamente –