1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

função da database

Discussão em 'Web Development' iniciada por filipelou, 4 de Junho de 2008. (Respostas: 10; Visualizações: 893)

  1. 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??
     
  2. joao.miguel

    joao.miguel Power Member

    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();
                        }
                    }
    
     
  3. qual a diferença entre a stored procedure e a function??
     
  4. SoundSurfer

    SoundSurfer Power Member

    Não sei se isto está correcto, penso que, como é uma function, o comando correcto seria "SELECT devolveLocalidade(@abreviatura)"
     
  5. e como vou buscar o valor retornado visto ser executeNonQuery??
     
  6. |pr3t3nd3r|

    |pr3t3nd3r| Power Member

    igualas a uma datatable.

    Eu tenho uma class para fazer as query's a base de dados, e o retorno igualo a uma datatable.
     
  7. SoundSurfer

    SoundSurfer Power Member

    Não vais, faz executeQuery.
     
  8. executeQuery??Não têm esse método no command!!
     
  9. |pr3t3nd3r|

    |pr3t3nd3r| Power Member

    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: 5 de Junho de 2008
  10. resolvido.Obrigado.
     

Partilhar esta Página