Строка подключения для ms sql server


Выходные параметры запросов



бет6/6
Дата23.03.2023
өлшемі62,2 Kb.
#75770
1   2   3   4   5   6
Байланысты:
рк1

Выходные параметры запросов
Параметры, которые используются в командах, могут быть нескольких типов. Тип параметра задается с помощью свойства Direction объкта SqlParameter. Данное свойство принимает одно из значений перечисления ParameterDirection:

Input: параметр является входным, то есть предназначен для передачи значений в sql-выражение запроса. Это значение по умолчанию для всех параметров

InputOutput: параметр может быть как входным, так и выходным.

Output: параметр является выходным, то есть используется для возвращения запросом каких-либо значений

ReturnValue: параметр представляет результат выполнения выражения или хранимой процедуры

Используем выходные параметры для возвращения id строки, которая была добавлена:

string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True";
int age = 23;
string name = "Kenny";
string sqlExpression = "INSERT INTO Users (Name, Age) VALUES (@name, @age);SET @id=SCOPE_IDENTITY()";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(sqlExpression, connection);
// создаем параметр для имени
SqlParameter nameParam = new SqlParameter("@name", name);
// добавляем параметр к команде
command.Parameters.Add(nameParam);
// создаем параметр для возраста
SqlParameter ageParam = new SqlParameter("@age", age);
// добавляем параметр к команде
command.Parameters.Add(ageParam);
// параметр для id
SqlParameter idParam = new SqlParameter
{
ParameterName = "@id",
SqlDbType = SqlDbType.Int,
Direction = ParameterDirection.Output // параметр выходной
};
command.Parameters.Add(idParam);
command.ExecuteNonQuery();
// получим значения выходного параметра
Console.WriteLine("Id нового объекта: {0}", idParam.Value);
}
Здесь к sql-выражению добавляется операция присвоения параметру id идентификатора добавленной строки: SET @id=SCOPE_IDENTITY(). Для определения параметра используются его свойства. ParameterName задает имя параметра, SqlDbType указывает на тип параметра, а свойство Direction определяет тип параметра.

После выполнения команды параметр получает значение, которое мы можем получить через его свойство Value:



Console.WriteLine("Id нового объекта: {0}", idParam.Value);

Достарыңызбен бөлісу:
1   2   3   4   5   6




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет