Технология Microsoft ADO.NET



Применение методов объекта Command в Windows-приложениях. Параметризированные запросы - часть 2


Форма в режиме дизайна будет иметь следующий вид (рис. 6.22):

 Приложение ExamWinExecuteNonQuery, вид формы в режиме дизайна

увеличить изображение
Рис. 6.22.  Приложение ExamWinExecuteNonQuery, вид формы в режиме дизайна

Подключаем пространство имен для работы с базой данных:

using System.Data.SqlClient;

В классе формы создаем экземпляр conn7):

SqlConnection conn = null;

Обработчик кнопки btnUpdate будет иметь следующий вид:

private void btnUpdate_Click(object sender, System.EventArgs e) { try { //Создаем переменную Family, в которую помещаем значение, //введенное пользователем в поле txtFamilyUpdate: string Family = Convert.ToString(this.txtFamilyUpdate.Text); //Создаем переменную TouristID, в которую помещаем значение, //введенное пользователем в поле txtTouristIDUpdate: int TouristID = int.Parse(this.txtTouristIDUpdate.Text); conn = new SqlConnection(); conn.ConnectionString = "integrated security=SSPI;data source=\".\"; persist security info=False; initial catalog=BDTur_firm2"; conn.Open(); SqlCommand myCommand = conn.CreateCommand(); myCommand.CommandText = "UPDATE Туристы SET Фамилия = @Family WHERE Кодтуриста = @TouristID"; //Добавляем параметр @Family в коллекцию параметров //объекта myCommand myCommand.Parameters.Add("@Family", SqlDbType.NVarChar, 50); //Устанавливаем значение параметра @Family //равным значению переменной Family myCommand.Parameters["@Family"].Value = Family; //Добавляем параметр @TouristID в коллекцию параметров //объекта myCommand myCommand.Parameters.Add("@TouristID", SqlDbType.Int, 4); //Устанавливаем значение параметра @TouristID //равным значению переменной TouristID myCommand.Parameters["@TouristID"].Value = TouristID; int UspeshnoeIzmenenie = myCommand.ExecuteNonQuery(); if (UspeshnoeIzmenenie !=0) { MessageBox.Show("Изменения внесены", "Изменение записи"); } else { MessageBox.Show("Не удалось внести изменения", "Изменение записи"); }

} catch(Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); } }

Обратите внимание - в блоке finally мы закрываем соединение, это нужно сделать в любом случае, независимо от результата выполнения команды.


Содержание  Назад  Вперед