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



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


Значения, введенные пользователем в текстовые поля txtFamilyUpdate и txtTouristIDUpdate, помещаются в переменные Family и TouristID. В запросе к базе данных используются два параметра - @Family и @TouristID. Мы добавляем их в коллекцию объекта Command, используя метод Add свойства Parameters, а затем устанавливаем значения параметров равными переменным Family и TouristID. Конструктор метод Add перегружен, первый вариант принимает наибольшее количество свойств8) (рис. 6.23):

 Конструктор метода Add свойства Parameters объекта Command

Рис. 6.23.  Конструктор метода Add свойства Parameters объекта Command

Описание некоторых свойств метода Add приводится в таблице 6.2.

Таблица 6.2. Свойства метода Add

Свойство Описание
parameterName Название параметра
sqlDbType Тип данных передаваемого параметра
size Размер параметра
sourceColumn Название имени столбца объекта DataSet, на который ссылается данный параметр

Конструктор метода Add свойства Parameters объекта Command для поставщика данных OLE DB имеет в точности такую же структуру (рис. 6.24):

 Конструктор метода Add свойства Parameters объекта Command поставщика данных OLE DB

Рис. 6.24.  Конструктор метода Add свойства Parameters объекта Command поставщика данных OLE DB

Добавляем обработчик кнопки btnInsert:

private void btnInsert_Click(object sender, System.EventArgs e) { try { int TouristID = int.Parse(this.txtTouristIDInsert.Text); string Family = Convert.ToString(this.txtFamilyInsert.Text); string FirstName = Convert.ToString(this.txtFirstNameInsert.Text); string MiddleName = Convert.ToString(this.txtMiddleNameInsert.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 = "INSERT INTO Туристы (Кодтуриста, Фамилия, Имя, Отчество) VALUES (@TouristID, @Family, @FirstName, @MiddleName)"; myCommand.Parameters.Add("@TouristID", SqlDbType.Int, 4); myCommand.Parameters["@TouristID"].Value = TouristID; myCommand.Parameters.Add("@Family", SqlDbType.NVarChar, 50); myCommand.Parameters["@Family"].Value = Family; myCommand.Parameters.Add("@FirstName", SqlDbType.NVarChar, 50); myCommand.Parameters["@FirstName"].Value = FirstName; myCommand.Parameters.Add("@MiddleName", SqlDbType.NVarChar, 50); myCommand.Parameters["@MiddleName"].Value = MiddleName; int UspeshnoeIzmenenie = myCommand.ExecuteNonQuery(); if (UspeshnoeIzmenenie !=0) { MessageBox.Show("Изменения внесены", "Изменение записи"); } else { MessageBox.Show("Не удалось внести изменения", "Изменение записи"); }




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