Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 64

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 58 59 60 61 62 63 < 64 > 65 66 67 68 69 70 .. 260 >> Следующая

Value Object Указывает значение параметра
Свойство ParameterName
В целом, свойство ParameterName объекта Parameter предназначено исключительно для того, чтобы упростить вам поиск этого объекта в наборе Parameters объекта Command. Например, если вы вызываете хранимую процедуру с использованием поставщика OLE DB .NET, вам не требуется соответствие значений свойств ParameterName ваших объектов Parameter именам параметров хранимой процедуры. Но если вы зададите значения свойств ParameterName, окажется, что код удобнее читать.
ГЛАВА 4 Выполнение запросов к-базе данных I M
Примечание Поставщик данных SQL Server сопоставляет ваши объекты Parameter маркерам параметров в запросе, используя значения свойств ParameterNmm- объектов Parameter. Итак, если вы выполняете запрос
SELECT OrderlD, CustoroerlD. EmployeelD. OrderDate FROH Orders WHERE CustomerlD = iCustomerIP
задайте свойству ParameterName вашего объекта Parameter значение @Cu$tomerlD.
Свойство Direction
Если вы вызываете хранимую процедуру и собираетесь использовать возвращаемые параметры или параметры вывода, задайте свойству Direction вашего объекта Parameter одно из значений, перечисленных в табл. 4-9.
Таблица 4-9. Элементы перечисления
Константа Input
Output InputOutput
Return
Значение Описание
Значение по умолчанию. Параметр используется только для ввода
Параметр используется только для вынол.ч Параметр используется только ввода-вывода Параметр содержит возвращаемое значение хранимой процедуры
Поскольку значение свойства Direction по умолчанию — input, явно задав: гь его требуется только для объектов Parameter, не являющихся параметрами ввода.
Большинство средств автоматической генерации кода запрашивают БД на предмет информации о параметрах, включая их тип. Даже если вы имеете дело с надежным средством генерации лил;;, например с утилитами из состава Visual Studio .NET, в некоторых случаях вам все равно требуется изменять значение свойства
Direction ваших объектов Parameter,
»3а<гек?> — спросите вы. Многие БД поддерживают параметры г?>;оде. вывода, ввода-вывода и возвращаемые параметры хранимых процедур, но не во всех ЗЗД есть языковые конструкции, позволяющие явно указать тип параметров вашей хранимой процедуры. Так, SQL Server допускает в определении хранимой процедуры ключевое слово что параметр способен возвращать значение. Тем не менее определение собственно параметра в хранимой процедуре одинаково и не зависит от того, является ли он параметром вывода или параметром ввода-вывода. Как следствие, средство генерации кода не может определить, используется ли параметр для ввода-вывода или только для вывода. Утилиты из состава Visual Studio предполагают, что параметр применяется для ввода-вывода. Если вам нужен параметр только для вывода, явно задайте в коде свойству Direction соответствующее значение,
Свойство Value
Свойство Value позволяет просмотреть и задать значение параметра. Тип данных этого свойства — Object. Следовательно, чтобы задать значение параметра, в не-
122 Часть II Подключаемся: ¦ поставщика данных не-
которых случаях придется ллеойр^зовать значение свойства Value в другой тип данных, например string или integer.
Свойства SourceColumn и Source Version
Свойства SourceColumn и SourceVersion определяют, как объект Parameter выбирает данные из объекта DaiaRoir. когда вы передаете ожидающие изменения в БД посредством вызова метода i/p-uai объекта DataAdapier. Подробнее об этом — в главе 10.
Свойства DbType и OfeDbType
Класс Parameter — единственный параметр объектной модели ADO.NET, требующий использования внутренних типов данных БД.
Например, когда вы с помощью объекта DataAdapter выбираете поле CustomerlD из таблицы Customers в объект Dzi-zS?-'. вам не нужно знать, имеет ли это поле фиксированную или переменную длину и допускает ли оно данные в кодировке Unicode. Тип данных объекта DataCohmm - просто string,
Свойство ПаШТуреобьеша DataColumn определяет тип данных, который ADO.NET потребуется для хранения содержимого поля, и принимает тип возвращае-
мый функциями GetTypemm Гурео/(взависимости от выбранного вами языка). Этот тип данных слабо связан с типом данных, используемым БД для хранения соответствующих данных. Строковые типы данных БД (например, с/гаги varchar)сопоставлены типу данных String модели .NET, нецелочисленные кисловке типы (money, decimal numeric) - типу данных Decimal и т.д.
Тип данных объекта Parameter должен быть более точным. В предыдущем фрагменте кода мы выполняли запрос
SELECT OrderlD, CustomerlD, EmployeelD, GrderDste FROM Orders WHERE CustomerlD = ?
с параметром, тип данных которого ^ra-f-w»расшифровывается как nviuV-(широкий), указывая, что строка содержит двухбайтные символы Unicode, а не однобайтные символы ANSI), а длина — 5. Если использовать для параметра неподходящий тип данных, БД обработает значение параметра не так, как мы этого ожидаем.
Все объекты Parameter предоставляют свойство DbType и специфичное для поставщика .NET свойство, определяющее тип данных. Например, у объекта OleDbParameter есть свойство OleDbType. а у параметра SqlParameter— свойство SqlDblype.
Предыдущая << 1 .. 58 59 60 61 62 63 < 64 > 65 66 67 68 69 70 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100