mysql_real_escape_string () в .NET Framework - PullRequest
       9

mysql_real_escape_string () в .NET Framework

1 голос
/ 26 апреля 2011

Я хочу найти функцию в .NET Framework для вызова библиотеки SQL-Server, чтобы действительно экранировать значение для отправки на сервер SQL, так как mysql-real-escape-string () вызывает библиотеку MySQL для делать в PHP.
пожалуйста, предложите метод, который я могу вызвать, и он возвратит экранированную строку через одно обращение к базе данных, нет необходимости выполнять его запрос
Есть ли это?

1 Ответ

3 голосов
/ 26 апреля 2011

Почему вы хотите это сделать?Правильный способ отправки пользовательского ввода в базу данных - это не экранирование, а использование параметров запроса .

using(var command = new SqlCommand("insert into MyTable(X, Y) values(@x, @y)", connection))
{
    command.Parameters.Add("@x", textBoxX.Text);
    command.Parameters.Add("@y", textBoxY.Text);
    command.ExecuteNonQuery();
}

. Это обеспечивает лучшую производительность, поскольку текст запроса всегда один и тот же.поэтому план выполнения запроса может быть кэширован.Это также защищает вас от атак SQL-инъекций.И это также позволяет вам игнорировать проблемы форматирования данных (например, как DateTime форматируется в SQL-Server? Как вы должны представлять число в SQL? И т. Д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...