ВУЗ:
Составители:
Рубрика:
97
Преобразованные к типу string значения можно объединять:
Console.WriteLine(Convert.ToString(dataReader[0]) + " " +
Convert.ToString(dataReader[1]) + " " +
Convert.ToString(dataReader[2]) +" " +
Convert.ToString(dataReader[3]));
Теперь записи выводятся в более привычном виде (рис. 86).
Рис. 86. Вывод содержимого всех полей в виде записей
4.3.3. Параметризированные запросы
Выше были рассмотрены основные методы объекта Command в консоль-
ных приложениях. Это дало возможность понять синтаксис самих методов, без
привязки к какому-либо интерфейсу. Однако, после того как синтаксис стал
ясен, возникает вопрос – как же использовать эти методы в реальных приложе-
ниях? Очевидно, что простое копирование кода в конструктор формы, по сути,
не изменит пример. Следовательно, необходимо привязывать вводимые значе-
ния к элементам пользовательского интерфейса, например, к текстовым полям.
Но это означает, что параметры строки запроса будут неизвестны до тех пор,
пока пользователь не введет соответствующие значения. Например, для метода
ExecuteNonQuery строка commandText имела следующий вид:
myCommand.CommandText =
"UPDATE Туристы SET Фамилия = 'Сергеева' WHERE Кодтуриста = 3";
Если создадим приложение, где пользователь будет вводить фамилию и
код туриста, то мы не можем заранее указать, какие это будут значения. Логи-
чески запрос можно представить примерно так:
myCommand.CommandText = " UPDATE Туристы SET
Фамилия = 'Какая-то_фамилия,_которую_введет_пользователь'
WHERE Кодтуриста = 'Какой-то_код,_который_введет_пользователь' ";
Для решения таких задач, которые возникли еще в самом начале разра-
ботки языка SQL, были придуманы параметризированные запросы. В них неиз-
вестные значения заменяются параметрами следующим образом:
myCommand.CommandText =
"UPDATE Туристы SET Фамилия = @Family WHERE Кодтуриста = @TouristID";
Страницы
- « первая
- ‹ предыдущая
- …
- 95
- 96
- 97
- 98
- 99
- …
- следующая ›
- последняя »
