Если объект SelectCommand адаптера данных может иметь или не иметь па раметры, ТО объекты UpdateCommand,InsertCommand И DeleteCommand всегда имеют параметры.
Такие команды как UpdateCommand И InsertCommand всегда требуют наличия параметра для каждого столбца, который будет модифицирован. Кроме то го, UpdateCommand и DeleteCommand требуют наличия параметра и в пред ложения WHERE, который будет идентифицировать те записи, в которые бу дут вноситься изменения.
Представим приложение, с помощью которого пользователи могут заказы вать и покупать книги. Как и обычные покупатели в магазине, они имеют тележку для выбранных книг, которая в приложении реализована в виде таблицы данных — ShoppingCart. В таблице ShoppingCart пользователи заводят новые записи под каждую книгу, которую они хотят купить, с атри бутами: идентификатором книги (BookId) и идентификатором клиента (CustId), которые совместно выступают в роли ключа, однозначно иденти фицирующего каждую запись в таблице ShoppingCart.
Когда пользователь кладет новую книгу в тележку для покупок, он фактиче ски добавляет запись в таблицу ShoppingCart. В приложении эту процедуру можно реализовать с помощью SQL-запроса с инструкцией INSERT. В этом случае SQL-запрос выглядит следующим образом:
INSERT INTO ShoppingCart (BookId, CustId, Quantity) Values (?, ?, ?}
Три вопросительных знака в тексте запроса представляют собой параметры, значения которым будут присвоены во время выполнения приложения, со ответственно после отработки запроса значения параметров будут переданы в колонки BookId, CustId, Quantity новой записи таблицы ShoppingCart. Если использовать переменные с именами параметров, тот же самый запрос будет иметь вид:
INSERT INTO ShoppingCart (BookId, CustId, Quantity) Values (@bookid,
Если пользователь решает что-нибудь изменить в уже сделанной покупке, например, количество книг, то эту процедуру можно реализовать в прило жении с помощью SQL-запроса на обновление, содержащего инструкцию UPDATE. Такой запрос может иметь следующий вид:
Shopping ni
SET (BookId=?, CustId=?, Quantity=?)
WHERE (BookId=? AND CustId=?)
Или, при использовании переменных с именем параметра:
UPDATE ShoppingCart
SET(BookId=@bookid, CustId=@custid, Quantity=@quantity)
WHERE (BookId=@bookid AND CustId=@custid)
В этом SQL-запросе параметры в предложении SET используются для за полнения новыми данными соответствующих колонок в таблице
ShoppingCart. Параметры в предложении WHERE выделяют тот набор запи сей, в которых произойдет обновление данных.
Пользователь может также удалить книгу из тележки для покупок. В том случае приложение могло бы вызвать SQL-запрос на удаление с предложе нием DELETE следующего типа:
DELETE FROM ShoppingCart WHERE (BookId=? AND CustId=?)
Или для переменных с именем параметра:
DELETE FROM ShoppingCart WHERE (BookId=@bookid AND CustId =@custid)
Опубликовал vovan666
May 22 2013 12:58:45 ·
0 Комментариев ·
3112 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.