«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Правильно вызовать метод пользовательской функции SQL (UDF) из C#

Правильно вызовать метод пользовательской функции SQL (UDF) из C#

Опубликовано в 2025-04-18
Просматривать:807

How to Correctly Call SQL Defined Functions (UDFs) from C#?

вызовы SQL определяли функции в C#

Запрос базы данных с использованием SQL-определенных функций из C# кода требуют конкретных соображений при доступе к определенным пользовательским функциям (UDFS) внутри SQL-запроса. Вот как вы можете вызвать скалярную функцию T-SQL с именем «tcupom» из вашего c# code:

]

] sql function: ]

create function TCupom (@cupom int)
returns float
as
begin
    declare @Tcu float;

    select @Tcu = sum (total) from alteraca2 where pedido = @cupom 

    if (@tcu is  null)
        set @tcu = 0;

    return @tcu;
end

c# code:

] ошибка в исходном коде:
исходный код c# сделал две ошибки:

]
  1. вызовы имени UDF непосредственно как команда, который не является правильным syntax для доступа к доступу. Udfs.
  2. установление CommandType на хранилищ, когда он должен быть текстом для UDFS.

исправленный код:
. Исправленный код ниже демонстрирует, как правильно назвать «tcupom» из Co#:

public void TotalCupom(int cupom)
{
    float SAIDA;
    SqlDataAdapter da2 = new SqlDataAdapter();

    if (conex1.State == ConnectionState.Closed)
    {
        conex1.Open();
    }

    SqlCommand Totalf = new SqlCommand("SELECT dbo.Tcupom(@code)", conex1);
    SqlParameter code1 = new SqlParameter("@code", SqlDbType.Int);
    code1.Value = cupom;

    SAIDA = Totalf.ExecuteScalar();

    return SAIDA;
}
объяснение:

]

объект sqlcommand построен с оператором запроса SQL, который включает в себя полностью квалифицированное имя UDF, dbo.tcupom. Значение устанавливается на параметр Cupom, переданный методу C#.
  • метод executeCalar () используется для выполнения UDF и получения его скалярного результата.
  • ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3