none
Mostrar datos de una consulta en un datagridview RRS feed

  • Pregunta

  • Buen dia muchachos

    Soy algo nuevo en programacion en C# asi que si pudieran colaborarme seria de muchisima ayuda, el incoveniente es el siguiente, me encuentro desarrollando un aplicatiovo de consulra tipo web, el cual esta conectado a una base de datos SQL Server, lo que quiero es que al hacer click en un boton este realice una consulta en la base, dependiendo de un dropdownlist y me muestre la informacion de esa seleccion en un datagrid, pero al hacer click hace la consulta pero no me muestra el datagrid, aca le dejo el codigo del boton, no se si me falta algo o tengo algo mal, gracias por la ayuda

    protected void Bttn_export_Click(object sender, EventArgs e)
            {
                SqlConnection exp = new SqlConnection("Data Source=C-305-NOT-P2\\NOTIFICACIONES;Initial Catalog=Notificaciones;Persist Security Info=True;User ID=sa; password=******");
                SqlCommand crc = new SqlCommand("Select * from Jornadas", exp);
                exp.Open();
                SqlDataAdapter rr = new SqlDataAdapter(crc);
                DataSet ds = new DataSet();
                rr.Fill(ds);
                GridViewEdit.DataSource = ds;
                GridViewEdit.Visible = true;
                exp.Close();
                
            }

    viernes, 2 de septiembre de 2016 13:59

Respuestas

  • hola

    te esta faltando el metodo DataBind()

    DataSet ds = new DataSet(); rr.Fill(ds); GridViewEdit.DataSource = ds;

    GridViewEdit.DataBind();

    GridViewEdit.Visible = true;

    sino usas ese metodo no se veran los registros

    GridView.DataBind()

    por otro lado si solo vas a mostrar una sola tabla usa un DataTable en lugar de un dataset

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina



    viernes, 2 de septiembre de 2016 16:21
  • Orlandorom86,

    Sobre lo que ya te han comentado, si los datos que deseas recuperar dependen de la selección de un elemento de un objeto DropDownList entonces debes de implementar el respectivo filtro en la consulta de selección:

    using (SqlConnection cn = new SqlConnection("<Colocar cadena de conexión>")) 
    {
    	cn.Open();
    	
    	string ConsultaSQL = "SELECT * FROM Jornadas WHERE ColFiltro = @Param";
    	
    	SqlCommand cmd = new SqlCommand(ConsultaSQL, cn);
    	
    	cmd.Parameters.AddWithValue("@Param", /*Colocar valor del elemento seleccionado*/);
    	
    	SqlDataAdapter da = new SqlDataAdapter(cmd);
    
    	DataTable dt = new DataTable();
    
            da.Fill(dt);
    
    	GridViewEdit.DataSource = dt;
    	GridViewEdit.DataBind();
    	
    	GridViewEdit.Visible = true;
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 2 de septiembre de 2016 16:58

Todas las respuestas

  • Hola Orlandorom86

    --pero al hacer click hace la consulta pero no me muestra el datagrid

    ¿Se refiere a que el DataGridView permanece oculto o a que no muestra los datos recuperados?

    Si se refiere a que el DataGridView no muestra los datos, puede probar de la siguiente forma:

    protected void Bttn_export_Click(object sender, EventArgs e)
     {
        string datosConexion = "Data Source=XXX;"
            + "Initial Catalog=XXX;Integrated Security=true; User ID=XXX; Password=XXX;";
    
        using (SqlConnection con = new  SqlConnection(datosConexion))
        {
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Jornadas", con);
            DataTable datos = new DataTable();
            adapter.Fill(datos);
            GridViewEdit.DataSource = datos;
        }
     }

    Si le ha servido, no olvide votar y establecer como respuesta.

    Saludos,



    Miguel Torres



    viernes, 2 de septiembre de 2016 14:28
  • hola

    te esta faltando el metodo DataBind()

    DataSet ds = new DataSet(); rr.Fill(ds); GridViewEdit.DataSource = ds;

    GridViewEdit.DataBind();

    GridViewEdit.Visible = true;

    sino usas ese metodo no se veran los registros

    GridView.DataBind()

    por otro lado si solo vas a mostrar una sola tabla usa un DataTable en lugar de un dataset

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina



    viernes, 2 de septiembre de 2016 16:21
  • Orlandorom86,

    Sobre lo que ya te han comentado, si los datos que deseas recuperar dependen de la selección de un elemento de un objeto DropDownList entonces debes de implementar el respectivo filtro en la consulta de selección:

    using (SqlConnection cn = new SqlConnection("<Colocar cadena de conexión>")) 
    {
    	cn.Open();
    	
    	string ConsultaSQL = "SELECT * FROM Jornadas WHERE ColFiltro = @Param";
    	
    	SqlCommand cmd = new SqlCommand(ConsultaSQL, cn);
    	
    	cmd.Parameters.AddWithValue("@Param", /*Colocar valor del elemento seleccionado*/);
    	
    	SqlDataAdapter da = new SqlDataAdapter(cmd);
    
    	DataTable dt = new DataTable();
    
            da.Fill(dt);
    
    	GridViewEdit.DataSource = dt;
    	GridViewEdit.DataBind();
    	
    	GridViewEdit.Visible = true;
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 2 de septiembre de 2016 16:58