Не знал что есть класс MSSQL. Вообще первый раз такое вижу, самоделка?
addslashes думаю с php взяли) php.net/manual/ru/function.addslashes.php - защита от SQL инъекций
Вот что она будет экранировать без понятия) Я вот только при входе использовал защиту от SQL инъекций, но у меня были поля ввода и там легко можно было дописать так чтоб подключится к другой БД.
Вот и использовал безопасное подключение.
SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder
{
DataSource = "KOT",
InitialCatalog = "AdventureWorks2014",
UserID = tbName.Text,
Password = tbPass.Text,
Pooling = true
};
Ведь и сама БД в основном для web. Не понимаю зачем ее здесь используют. Если надо что-то легковесное то можно было SQLite использовать. Рад что кто-то использует SQL Server. Развеселил Иван, но ничего думаю он еще исправится.
Александр, рада что ты получил еще больше интересного опыта!
Уверена что у тебя все получится и ты найдешь ответы! :)
По поводу функций addslashes. Что она экранирует. При работе с формами, где пользователь может ввести через textbox всё что угодно, возможен ввод некорректных символов, которые могут повлиять на работу программы. К таким символам в частности относятся кавычки, которые при попадании в текст SQL запроса могут сделать его некорректным,
К примеру есть запрос обработки строки UPDATE table SET field1='"+text1.text+"', field2='"+text2.text+"';
и если в поле text1 укажем например Кафе 'Золотое руно', то запрос будет выглядеть так
UPDATE table SET field1='Кафе 'Золотое руно'', field2='"+text2.text+"'; и для поля field1 как видим уже соответствует несколько переменных, ограниченных одинарными кавычками, и корректно запрос не обработается.
Какой выход? Экранировать кавычки, превращая их из спецсимволов в обычные строчные символы,добавляя к ним слеши при помощи функции addslashes. после обработки этой функцией запрос примет вид
UPDATE table SET field1='Кафе "e Золотое руно "e ', field2='"+text2.text+"'; и будет нормально обработан движком dotnet и MySQL.