Сведения о хранимых процедурах — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Сведения о хранимых процедурах

2019-11-19 162
Сведения о хранимых процедурах 0.00 из 5.00 0 оценок
Заказать работу

Хранимые процедуры – предварительно оттранслированное множество предложений SQL и дополнительных предложений для управления потоком, сохраняемое под именем и обрабатываемое (выполняемое) как одно целое. Хранимые процедуры сохраняются непосредственно в базе данных; их выполнение обеспечивается вызовом со стороны приложения; допускает включение объявляемых пользователем переменных, условий и других программируемых возможностей.

В хранимых процедурах могут применяться входные и выходные параметры; сохраняемые процедуры могут возвращать единичные значения и результирующие множества.

Функционально хранимые процедуры аналогичны запросам. Вместе с тем, по сравнению с предложениями SQL, они обладают рядом преимуществ:

· в одной процедуре можно сгруппировать несколько запросов;

· в одной процедуре можно сослаться на другие сохраненные процедуры, что упрощает процедуры обращения к БД;

· выполняются быстрее, чем индивидуальные предложения SQL.

Таким образом, хранимые процедуры облегчают работу с базой данных.

Способы создания команд

Существуют три способа создания команд для манипулирования данными.

 

1) Объявление и создание объекта команды непосредственно в программном коде с последующей настройкой этого объекта вручную (табл. 5.1).

Таблица 5.1 - Создание команды к базе данных

// Создать соединение с базой данных using (SqlConnection cs = new SqlConnection(Properties.Settings.Default.EDUConnectionString)) {// Открыть соединение с базой данных cs.Open(); // Создать команду к базе SqlCommand cmd = cs.CreateCommand(); }

2) использование инструментария, предоставляемого панелью ToolBox (вкладка Data). Объект соответствующего класса перетаскивается в окно дизайнера с последующей настройкой этого объекта. SqlCommand или OleDbCommand перетаскивается в окно конструктора со вкладки Data, при этом остается вручную задать свойства Connection, CommandText, CommandType (для определения типа команды, которая задается в свойстве CommandText). При этом свойство CommandType может принимать одно из трех значений:

a. Text – значение свойства CommandText воспринимается как текст команды SQL. При этом возможна последовательность допустимых операторов, разделенных точкой с запятой;

b. StoredProcedure – значение свойства CommandText воспринимается как имя существующей хранимой процедуры, которая будет исполняться при вызове данной команды;

c. TableDirect – при этом свойство CommandText воспринимается как непустой список имен таблиц, возможно, состоящий из одного элемента. При выполнении команды возвращаются все строки и столбцы этих таблиц;

3) размещение (путем перетаскивания) хранимой процедуры из окна Server Explorer в окно дизайнера. Команда соответствующего типа при этом создается автоматически на основе любой хранимой процедуры. При этом новый объект ссылается на хранимую процедуру, что позволяет вызывать эту процедуру без дополнительной настройки.

    4. Параметры команды к БД

Данные из базы выбираются в результате выполнения объекта Command. В ADO.NET применяются параметризованные команды. Объект Parameter является средством модификации команд. Представляет свойства и методы, позволяющие определять типы данных и значения параметров. Параметры обладают следующими свойствами:

· Value – свойство, предназначенное для непосредственного сохранения значения параметра;

· Direction – свойство объекта-параметра, которое определяет, является ли параметр входным или выходным. Множество возможных значений представляется следующим списком: Input, Output, InputOutput, ReturnValue;

· DbType (не отображается в окне дизайнера) в сочетании с OleDbType (только для объектов типа OleDbParameters) – параметры, используемые для согласования типов данных, принятых в CTS (Common Type System) и типов, используемых в конкретных базах данных;

· DbType (не отображается в окне дизайнера) в сочетании с SQLType (только для объектов типа SqlParameters) – параметры, также используемые для согласования типов данных, принятых в CTS (Common Type System) и типов, используемых в конкретных базах данных;

· ParameterName – свойство, которое обеспечивает обращение к данному элементу списка параметров команды непосредственно по имени, а не по индексу (табл. 5.2). 

Таблица 5.2 - Объявление параметров команды к БД

// Первый вариант // Создать параметер для индектификатора студента в запросе cmd.Parameters.Add(new SqlParameter("@StudId", SqlDbType.Int)); // Задать значение параметра идентификатора студента cmd.Parameters["@StudId"].Value = studId; // Второй вариант без задания типа // Добавить параметр идентификации студента cmd.Parameters.AddWithValue("@StudId", StudId);

 

Precision, Scale, Size определяют длину и точность соответствующих параметров. При этом первые два свойства применяются для задания разрядности и длины дробной части значения параметров таких типов, как float, double, decimal (последнее свойство используется для указания максимально возможных длин строкового и двоичного параметров).

 


Поделиться с друзьями:

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.