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


Методы ExecuteNonQuery, ExecuteScalar и ExecuteReader объекта Command - часть 2


Эти два способа совершенно эквивалентны. В свойстве CommandText указывается непосредственно текст запроса, который устанавливает значение "Сергеева" поля "Фамилия" для записи с полем "Кодтуриста" = 3. Для выполнения запроса просто вызываем метод ExecuteNonQuery:

myCommand.ExecuteNonQuery();

Запускаем приложение, нажимая Ctrl+F5. При успешном выполнении запроса в консольном окне появляется надпись "Press any key to continue" (рис. 6.10):

 Выполнение приложения ExampleExecuteNonQuery

Рис. 6.10.  Выполнение приложения ExampleExecuteNonQuery

Запускаем SQL Server Enterprise Manager, открываем таблицу "Туристы" и убеждаемся в том, что запись изменилась (рис. 6.11).

 Таблица "Туристы", изменение записи

Рис. 6.11.  Таблица "Туристы", изменение записи

Метод ExecuteNonQuery все-таки что-то неявно возвращает - результат выполнения запроса в виде количества измененных записей; это может применяться для проверки (изменим фрагмент кода):

int UspeshnoeIzmenenie = myCommand.ExecuteNonQuery(); if (UspeshnoeIzmenenie !=0) { Console.WriteLine ("Изменения внесены"); } else { Console.WriteLine("Не удалось внести изменения"); }

Теперь, в зависимости от результата, будет появляться соответствующее сообщение (рис. 6.12).

 Результаты проверки выполнения запроса

Рис. 6.12.  Результаты проверки выполнения запроса

Неудачный результат можно получить, установив в тексте запроса значения поля "Код туриста", равное, скажем, 10.

Закомментируем имеющееся свойство CommandText и добавим новое:

myCommand.CommandText = "INSERT INTO Туристы (Кодтуриста, Фамилия, Имя, Отчество) VALUES (6, 'Тихомиров', 'Андрей', 'Борисович')";

Запускаем приложение, переходим в SQL Server Enterprise Manager - запрос добавил новую запись (рис. 6.13):

 Таблица "Туристы", добавление записи

Рис. 6.13.  Таблица "Туристы", добавление записи

Снова закомментируем свойство CommandText, добавим теперь запрос на удаление записи:

myCommand.CommandText = "DELETE FROM Туристы WHERE Кодтуриста = 4";




Начало  Назад  Вперед



Книжный магазин