Каждый элемент коллекции параметров в объектах Command (SelectCommand, UpdateCommand, InsertCommand И DeleteCommand) соответствуют параметру SQL-запроса, записанного в свойство CommandText. Если объект command представляет собой SQL-запрос с параметрами в виде знаков вопроса, то каждый элемент в коллекции параметров будет соответствовать одному во просительному знаку в SQL-запросе. Например, следующая инструкция за проса на обновление UPDATE требует коллекции из пяти параметров:
UPDATE ShoppingCart
SET (BookId=?, CustId=?, Quantity=?)
WHERE (BookId=? AND CustId=?)
Аналогично для именованных параметров:
UPDATE ShoppingCart
SET (BookId=@bookid, CustId=@custid, Quantity=@quantity)
WHERE (BookId=@bookid AND CustId=@custid)
Если объект command ссылается на хранимую процедуру, то номер элемента параметра в коллекции определяется процедурой. В хранимых процедурах параметры могут также иметь имена. В этом случае позиция параметра в коллекции не имеет значения. Каждый элемент параметра в коллекции имеет свойство ParameterName, которое используется для согласования с соответствующим параметром в хранимой процедуре.
Если вы формируете коллекцию параметров вручную, то необходимо точно знать, какие параметры требуются для корректной работы хранимой проце дуры. Многие хранимые процедуры возвращают значение. В таком случае возвращаемое значение передается назад вашему приложению через кол лекцию параметров, и вы должны учесть это. Кроме того, часто хранимые процедуры состоят из множества SQL-запросов, и вы должны убедиться, что коллекция параметров содержит все значения, которые необходимы всем запросам в процедуре.
Если параметры не имеют имен (в хранимых процедурах), то элементы кол лекции имеют такую же нумерацию и расположение, как и параметры в хранимой процедуре. Если хранимая процедура возвращает значение, то первый элемент в коллекции параметров (нулевой элемент) зарезервирован для этого возвращаемого значения.
Поэтому для доступа к индивидуальному параметру коллекции можно со слаться на его индекс (номер) в коллекции. Однако если в объекте поддер живается свойство имя параметра (ParameterName), то возможен доступ к параметру по его имени. В листинге 1.1 приведен пример SQL-запроса на Visual Basic и С#. Вторая и третья строка запроса эквивалентны при усло вии, что второй параметр в коллекции имеет имя Title_Keyword.
Опубликовал vovan666
May 22 2013 12:58:49 ·
0 Комментариев ·
3680 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.