none
3 camadas SqlDataReader RRS feed

  • Pergunta

  • tenho uma cada Dal preciso usar o SqlDataReader como eu faco  para pegar o seu retorno usando  na regra de negocio ?

    Obrigado.

    quinta-feira, 8 de março de 2012 17:16

Respostas

  • Você pode fazer assim:

    public static SqlDataReader returnData()
    
    {
    SqlDataReader dr = null;
    
    SqlConnection conn = new SqlConnection("server=(local);database=[somedatabase];user id=sa;password=sa");
    SqlCommand cmd = new SqlCommand("SELECT CustomerID, CustomerName FROM MyTable", conn);
    
    conn.Open();
    dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);return dr;
    
    }
    
    }
    

    E na camada de apresentação:

    DropDownList1.DataSource = dbaccess.returnData(sql query);
    DropDownList1.DataTextField = "CustomerName";
    
    DropDownList1.DataValueField = "CustomerID";
    DropDownList1.DataBind();

    Referencia:

    http://forums.asp.net/t/1198171.aspx


    Consultoria .NET
    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.
    Blog .Net Descomplicado

    • Marcado como Resposta ciotti quinta-feira, 8 de março de 2012 17:39
    quinta-feira, 8 de março de 2012 17:35

Todas as Respostas

  • Boa tarde.

    Crie um metodo que retorne um dataset.

    Voce pode fazer um get ou set das propriedades.

    Se preferir algo mais detalhado, poste seu código e lhe ajudaremos.


    Consultoria .NET
    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.
    Blog .Net Descomplicado

    quinta-feira, 8 de março de 2012 17:20
  • entao nesse caso preciso do reader mesmo pois vou dar alguns 


        obj_Reader.NextResult();

    com datase eu sei agora com SqlDataReader  nunca fiz.

    obrigadol.

    quinta-feira, 8 de março de 2012 17:27
  • PROPRIEDADES

       public class Clpropriedades
        {


            private string operador_login;
            private int cd_empresa;
            private int cd_matricula;
            private int tipo_usuario;
            private int migracao;
            private int semana;
            private int ano;




            public string Operador_login
            {
                get { return operador_login; }
                set { operador_login = value; }
            }


            public int Cd_empresa
            {
                get { return cd_empresa; }
                set { cd_empresa = value; }
            }


            public int Cd_matricula
            {
                get { return cd_matricula; }
                set { cd_matricula = value; }
            }


            public int Tipo_usuario
            {
                get { return tipo_usuario; }
                set { tipo_usuario = value; }
            }


            public int Migracao
            {
                get { return migracao; }
                set { migracao = value; }
            }


            public int Semana
            {
                get { return semana; }
                set { semana = value; }
            }




            public int Ano
            {
                get { return ano; }
                set { ano = value; }
            }
        }

    DAL

       public SqlDataReader DetalheAbastecimento(Clpropriedades semana)

            {
                try
                {


                   // SqlDataReader dr = null;
                    SqlCommand cmd = new SqlCommand("Sp_OP_Remissao_Extrato", Conexao);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@exec", "SEL");
                    cmd.Parameters.AddWithValue("@procedimento", 2);
                    cmd.Parameters.AddWithValue("@Cd_Operador_Login",semana.Operador_login) ;
                    cmd.Parameters.AddWithValue("@Cd_Empresa",semana.Cd_empresa); 
                    cmd.Parameters.AddWithValue("@Cd_Matricula",semana.Cd_matricula); 
                    cmd.Parameters.AddWithValue("@Nr_Semana_Credito",semana.Semana); 
                    cmd.Parameters.AddWithValue("@Nr_Ano_Credito",semana.Ano );
                    //dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                     //SqlDataReader obj_Reader = cmd.ExecuteReader();
                     return cmd.ExecuteReader();





                }
                catch (SqlException erro)
                {


                    throw (erro);
                }
                finally
                {
                    Conexao.Close();


                }

    REGRRA NEGOCIO

          public SqlDataReader Busca_Detalhe_Abastecimento(Clpropriedades semana) 
            {


                Clbanco objConsulta = new Clbanco();
                return objConsulta.DetalheAbastecimento(semana);
            }

    -- CREIO EU QUE O PROBLEMA ESTA AQUI

     private void DetalhesAbastecimento() 
            {


                Clpropriedades objSemana = new Clpropriedades();
                objSemana.Operador_login = "Cooperado";
                objSemana.Cd_empresa = 1;
                objSemana.Cd_matricula = 2190;
                objSemana.Semana = int.Parse(Clfuncao.Semana_Ano("1", ddlConsulta.Text));
                objSemana.Ano = int.Parse(Clfuncao.Semana_Ano("2", ddlConsulta.Text));


                Clnegocio objNegocioSemana = new Clnegocio();
                SqlDataReader obj_Reader  = objNegocioSemana.Busca_Detalhe_Abastecimento(objSemana);


                //o erro comeca aqui
                while (obj_Reader.Read())
                {


                    string inicio_Desc_Diesel = String.Format("{0:d}", obj_Reader["inicio_Desc_Diesel"]);
                    string termino_Desc_Diesel = String.Format("{0:d}", obj_Reader["Termino_Desc_Diesel"]);
                    lbData_Remissao.Text = (inicio_Desc_Diesel + " " + "à" + " " + termino_Desc_Diesel);


                }


    • Editado ciotti quinta-feira, 8 de março de 2012 17:30
    quinta-feira, 8 de março de 2012 17:29
  • Você pode fazer assim:

    public static SqlDataReader returnData()
    
    {
    SqlDataReader dr = null;
    
    SqlConnection conn = new SqlConnection("server=(local);database=[somedatabase];user id=sa;password=sa");
    SqlCommand cmd = new SqlCommand("SELECT CustomerID, CustomerName FROM MyTable", conn);
    
    conn.Open();
    dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);return dr;
    
    }
    
    }
    

    E na camada de apresentação:

    DropDownList1.DataSource = dbaccess.returnData(sql query);
    DropDownList1.DataTextField = "CustomerName";
    
    DropDownList1.DataValueField = "CustomerID";
    DropDownList1.DataBind();

    Referencia:

    http://forums.asp.net/t/1198171.aspx


    Consultoria .NET
    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.
    Blog .Net Descomplicado

    • Marcado como Resposta ciotti quinta-feira, 8 de março de 2012 17:39
    quinta-feira, 8 de março de 2012 17:35
  • Resolvi o meu try do Dal estava fechando a conexao.

    por isso nao trazia nada e dava pau

    vlw amigo ajudou tambem.

    quinta-feira, 8 de março de 2012 17:39