Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 97 стр.

UptoLike

Составители: 

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";