Как отформатировать строковые параметры перед отправкой в ​​MySql в .NET? - PullRequest
0 голосов
/ 22 декабря 2011

Как проверить строку на предмет неправильного синтаксиса MySQL, вызванного (')?

, например: We Bike бы быстро

Мне нужно избавиться от' перед вставкойв базу данных.

Ответы [ 3 ]

5 голосов
/ 22 декабря 2011

Вы должны использовать MysqlCommand и параметры команды для построения оператора вставки, это сделает экранирование для вас.

В качестве альтернативы есть EscapeString метод, который вы можете использовать.

0 голосов
/ 22 декабря 2011

Вы можете добавить директиву System.Web в ваш файл .cs и использовать HTMLEncode, который заменит ' на &apos, но когда вы прочитаете его обратно, вам придется вызвать HTMLDecode()чтобы преобразовать его обратно в '.

Это вы бы использовали перед созданием параметризованного оператора во внешнем интерфейсе.Затем передайте конечный результат в качестве параметра в sqlCommand.

0 голосов
/ 22 декабря 2011

Простой ответ:

textValue = textValue.Replace("'","''");

Но обычно лучше использовать параметры команды.

См. SqlCommand.Parameters Свойство на MSDN. (Я не знаю, MySql эквивалент)

EDIT:

Пример с заменой:

string sql = String.Format("SELECT * FROM tbl WHERE name ='{0}'",
                           textBox1.Value.Replace("'","''"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...