função da database

filipelou

Membro
Eu tenho esta função na database:

ALTER FUNCTION dbo.devolveLocalidade
(
@abreviatura varchar(3)
)
RETURNS TABLE
AS

RETURN SELECT Localizacao
FROM T_Aeroporto
WHERE (Cod_Aeroporto = @abreviatura)




Como utilizá-la num projecto web asp.net??
 
Porque não criar uma stored procedure e colocas lá esse mesmo código ? depois é só chamares a stored procedure (Dá uma vista de olhos em ADO)

Código:
                using (SqlConnection connection = new SqlConnection("a minha connction string"))
                {
                    using (SqlCommand command = new SqlCommand("devolveLocalidade ", connection))
                    {
                        command.CommandType = System.Data.CommandType.StoredProcedure;

                        SqlParameter parameter;

                        parameter = new SqlParameter("@abreviatura ", System.Data.SqlDbType.Nvarchar, 3);
                        parameter.Value = idPedidoBD;
                        command.Parameters.Add(parameter);

                        connection.Open();
                        rowsAffected = command.ExecuteNonQuery();
                        connection.Close();
                    }
                }
 
Porque não criar uma stored procedure e colocas lá esse mesmo código ? depois é só chamares a stored procedure (Dá uma vista de olhos em ADO)

Código:
                using (SqlConnection connection = new SqlConnection("a minha connction string"))
                {
                    using (SqlCommand command = new SqlCommand("devolveLocalidade ", connection))
                    {
                        command.CommandType = System.Data.CommandType.StoredProcedure;

                        SqlParameter parameter;

                        parameter = new SqlParameter("@abreviatura ", System.Data.SqlDbType.Nvarchar, 3);
                        parameter.Value = idPedidoBD;
                        command.Parameters.Add(parameter);

                        connection.Open();
                        rowsAffected = command.ExecuteNonQuery();
                        connection.Close();
                    }
                }

Não sei se isto está correcto, penso que, como é uma function, o comando correcto seria "SELECT devolveLocalidade(@abreviatura)"
 
sorry, o execute nonquery que uso é para write na base de dados, tá aqui a função que uso que tenho numa classe para os read.
Código:
public DataTable sqlRead()
        {
            DataTable dtResult = new DataTable();

            SqlCommand sqlCommand = new SqlCommand(sqlQuery, sqlConnection);
            SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommand);

            try
            {
                sqlAdapter.Fill(dtResult);
                return dtResult;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
        }

depois tenho que igualar o resut a uma tabela, tipo assim:
Código:
        sql QualquerCoisa = new sql(WebConfigurationManager.ConnectionStrings["XPTO"].ConnectionString);
        QualquerCoisa.Query = "SELECT * FROM Tabela";

        DataTable dtinfo = QualquerCoisa.sqlRead();
 
Última edição:
Back
Topo