"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Ligue para o método SQL Função SQL (UDF) corretamente de C#

Ligue para o método SQL Função SQL (UDF) corretamente de C#

Postado em 2025-04-18
Navegar:674

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

chamando as funções definidas SQL em C#

Consultando um banco de dados usando funções definidas por SQL de C# requer considerações específicas ao acessar o usuário definido Veja como você pode chamar uma função escalar t-sql chamada "tcupom" do seu código C#:

função sql:

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:

Erro no código original:
o código C# original cometeu dois erros:

  1. chamando o nome da UDF diretamente como um comando, o que é o que é o que é o comando, que não é o comando, o que é o comando,
  2. e o nome da UDF, como um comando,
chamando o nome da UDF diretamente como um comando, que é o que é o que é o comando, o que é o comando, o que é o comando,

Configurando o commandType como storledProcedure quando deve ser texto para udfs. copom) { flutuar Saida; Sqldataadapter da2 = new sqldataadapter (); if (CONEX1.STATE == ConnectionState.closed) { CONEX1.OPEN (); } SqlCommand totalf = novo sqlCommand ("select dbo.tcupom (@code)", conex1); SqlParameter code1 = new sqlParameter ("@code", sqldbtype.int); code1.value = Cupom; Saida = totalf.executescalar (); retornar Saida; }

Explicação:
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;
}

O objeto SQLCommand é construído com uma declaração de consulta SQL que inclui o nome totalmente qualificado da UDF, dbo.tcupom. e seu valor é definido como o parâmetro Cupom passado para o método C#.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3