none
Visualizar DataGridView con consulta de Store procedure RRS feed

  • Pregunta

  • Estimados, estoy intentando de llenar un DataGridView, por medio de la ejecucion de un store procedure, el cual por medio del programa le paso parametros, pero me esta retornando un erro, la idea es que me muestre todos los campos en el datagrid segun la informaicon que contiene la tabla

    Programa

    public void btnBuscar_Click(object sender, EventArgs e)
            {
                string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=BDMANTENCIONES;User ID=sa;Password=;Integrated Security=True;MultipleActiveResultSets=True";
                SqlConnection connection = new SqlConnection(connectionString) ;
                SqlCommand cmd = new SqlCommand("dbo.ConsultarRegistro", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                
                cmd.Parameters.Add(new SqlParameter("@Ano", SqlDbType.Int));
                cmd.Parameters["@Ano"].Value = Convert.ToInt32(cmbAno.Text);

                cmd.Parameters.Add(new SqlParameter("@Datos", SqlDbType.VarChar,50));
                cmd.Parameters["@Datos"].Value = cmbSelecMR.Text;

                cmd.Parameters.Add(new SqlParameter("@NumMR", SqlDbType.Int));
                cmd.Parameters["@NumMR"].Value = Convert.ToInt32(txtConsultarMant.Text);

                connection.Open();
                cmd.ExecuteNonQuery();

                SqlDataAdapter dataAdapter = new SqlDataAdapter(connectionString, connection);
                SqlCommandBuilder commanBuilder = new SqlCommandBuilder(dataAdapter);

                DataSet ds = new DataSet();
                DataTable dt = new DataTable();

                dataAdapter.Fill(ds);
                dt = ds.Tables[0];
                dtgConsulta.DataSource = ds.Tables[0];
            }

    STORE PROCEDURE

    ALTER PROCEDURE [dbo].[ConsultarRegistro]
    (
    @Ano Int,
    @Datos VARCHAR(50),
    @NumMR Int
    )
    AS
    BEGIN  
    SELECT * FROM Ingresar
    where Ano = @Ano
    and Datos = @Datos
    and NumMR = @NumMR
    END

    lunes, 26 de febrero de 2018 15:40

Respuestas

  • hola

    >>pero me esta retornando un erro

    que dice el mensaje de error ?

    intenta algo como esto

     public void btnBuscar_Click(object sender, EventArgs e)
    {
    	string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=BDMANTENCIONES;User ID=sa;Password=;Integrated Security=True;MultipleActiveResultSets=True";
    	SqlConnection connection = new SqlConnection(connectionString) ;
    	
    	SqlCommand cmd = new SqlCommand("ConsultarRegistro", connection);
    	cmd.CommandType = CommandType.StoredProcedure;
    	
    	cmd.Parameters.Add(new SqlParameter("@Ano", SqlDbType.Int));
    	cmd.Parameters["@Ano"].Value = Convert.ToInt32(cmbAno.Text);
    
    	cmd.Parameters.Add(new SqlParameter("@Datos", SqlDbType.VarChar,50));
    	cmd.Parameters["@Datos"].Value = cmbSelecMR.Text;
    
    	cmd.Parameters.Add(new SqlParameter("@NumMR", SqlDbType.Int));
    	cmd.Parameters["@NumMR"].Value = Convert.ToInt32(txtConsultarMant.Text);
    
    
    	SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd);
    	DataTable dt = new DataTable();
    	dataAdapter.Fill(dt);
    	
    	dtgConsulta.DataSource = dt;
    }

    usa el commando en el dataadapter

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Aprendis24 lunes, 26 de febrero de 2018 15:56
    lunes, 26 de febrero de 2018 15:48

Todas las respuestas

  • hola

    >>pero me esta retornando un erro

    que dice el mensaje de error ?

    intenta algo como esto

     public void btnBuscar_Click(object sender, EventArgs e)
    {
    	string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=BDMANTENCIONES;User ID=sa;Password=;Integrated Security=True;MultipleActiveResultSets=True";
    	SqlConnection connection = new SqlConnection(connectionString) ;
    	
    	SqlCommand cmd = new SqlCommand("ConsultarRegistro", connection);
    	cmd.CommandType = CommandType.StoredProcedure;
    	
    	cmd.Parameters.Add(new SqlParameter("@Ano", SqlDbType.Int));
    	cmd.Parameters["@Ano"].Value = Convert.ToInt32(cmbAno.Text);
    
    	cmd.Parameters.Add(new SqlParameter("@Datos", SqlDbType.VarChar,50));
    	cmd.Parameters["@Datos"].Value = cmbSelecMR.Text;
    
    	cmd.Parameters.Add(new SqlParameter("@NumMR", SqlDbType.Int));
    	cmd.Parameters["@NumMR"].Value = Convert.ToInt32(txtConsultarMant.Text);
    
    
    	SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd);
    	DataTable dt = new DataTable();
    	dataAdapter.Fill(dt);
    	
    	dtgConsulta.DataSource = dt;
    }

    usa el commando en el dataadapter

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Aprendis24 lunes, 26 de febrero de 2018 15:56
    lunes, 26 de febrero de 2018 15:48
  • excelente gracias leandro, me funciono saludos
    lunes, 26 de febrero de 2018 15:56