none
cargar datagridview con dataset c#

    Question

  • Hola amigos necesito si me pueden ayudar, necesito cargar un dataset en un datagridview en visual c#

    Thursday, January 21, 2010 1:26 PM

Answers

  • tuDataGridView.DataSource=tuDataSet.Tables[0];
    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    Thursday, January 21, 2010 1:31 PM
    Moderator
  • hola

    si solo estas trabajando con una tabla te recomendaria que cuando cargues la informacion lo hagas directo en un datatable, no necesitas usar simpre un dataset


    ahora bien lo que comenta jtorrecilla esta correcto pero hay otra forma

    tuDataGridView.DataSource=tuDataSet;
    tuDataGridView.DataMember = "<nombre datatable>";

    si tu datatable tiene un nombre podrias suarlo para asignar el valor al DataMember

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, January 21, 2010 1:39 PM

All replies

  • tuDataGridView.DataSource=tuDataSet.Tables[0];
    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    Thursday, January 21, 2010 1:31 PM
    Moderator
  • hola

    si solo estas trabajando con una tabla te recomendaria que cuando cargues la informacion lo hagas directo en un datatable, no necesitas usar simpre un dataset


    ahora bien lo que comenta jtorrecilla esta correcto pero hay otra forma

    tuDataGridView.DataSource=tuDataSet;
    tuDataGridView.DataMember = "<nombre datatable>";

    si tu datatable tiene un nombre podrias suarlo para asignar el valor al DataMember

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, January 21, 2010 1:39 PM
  • Coloco mi codigo

    string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena =" + cbb_Cadena.SelectedValue + "and codcomercio = " + cbb_Comercio.SelectedValue;
    SqlCommand cmd3 = new SqlCommand(query, connDB);
    SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
    DataTable DtLocal = new DataTable();
    DataSet DsLocal = new DataSet();
    DaRec2.Fill(DtLocal);
    dataGridView1.DataSource = DsLocal;
    dataGridView1.DataMember =
    "FechaEmision";

    Thursday, January 21, 2010 2:18 PM
  • Hay una cosa que no entiendo,

    declaras un dataset y un datatable, llenas el datatable,  asignas el dataset como datasourece???

    string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena =" + cbb_Cadena.SelectedValue + "and codcomercio = " + cbb_Comercio.SelectedValue;
    SqlCommand cmd3 = new SqlCommand (query, connDB);
    SqlDataAdapter DaRec2 = new SqlDataAdapter (cmd3);
    DataSet DsLocal = new DataSet ();
    DaRec2.Fill(DsLocal);
    dataGridView1.DataSource = DsLocal;
    dataGridView1.DataMember =
    "local" ;

    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    Thursday, January 21, 2010 2:20 PM
    Moderator
  • hola

    si jtorrecilla tiene razon medio rara la parte en donde trabajas hace el Fill()

    igualmente te aconsejaria que pruebas algo como esto

    string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena = @codcadena and codcomercio = @codcomercio";

    SqlCommand cmd3 = new SqlCommand(query, connDB);
    cmd3.Parameters.AddWitValue("codcadena", cbb_Cadena.SelectedValue);
    cmd3.Parameters.AddWitValue("codcomercio", cbb_Comercio.SelectedValue);

    SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
    DataTable dt = new DataTable();
    DaRec2.Fill(dt);

    dataGridView1.DataSource = dt;


    como veras no armo el query uniendo string, usa parametros es muy recomendado
    y como comentaba si vas a trabajr con una sola tabla usa directo un datatable, te evitas muchos problemas

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, January 21, 2010 2:39 PM
  • no me a funcionado lo que ustedes me han colocado de todas maneras muchas gracias, pero no me explique bien, disculpen, miren lo que necesito que es al momento de presionar el boton generar, se carguen en la grilla 3 combobox mas un datetimepicker, pero con dataset, les coloco mi codigo que llevo hasta el momento

     string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena =" + cbb_Cadena.SelectedValue + "and codcomercio = "  +  cbb_Comercio.SelectedValue;
     SqlCommand cmd3 = new SqlCommand(query, connDB);
     SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
     DataTable DtLocal = new DataTable();
     DataSet DsLocal = new DataSet();
     DaRec2.Fill(DtLocal);
     dataGridView1.DataSource = DsLocal;
     dataGridView1.DataMember = "FechaEmision";
    Thursday, January 21, 2010 3:37 PM
  • hola

    si bien pero ese codigo aun tiene los problemas que menciono jtorrecilla y yo tambien pude ver
    no lo has solucionado aun

    estas cargando el datatable pero asignas como datasource a la grilla el dataset, esto es incorrecto

    analiza los ejemplos que proporcionamos y realiza las modificaciones, segun veo en el codigo no has realizado aun estos cambios
    luego si algo no funciona postea el codigo con las modficaciones que realizaste

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, January 21, 2010 3:47 PM
  • Valee no te ha funcionado pero veo que no sigues los consejos que te ha dado Leandro ni has mirado otras opciones:

    SqlCommand cmd3 = new SqlCommand(query, connDB);
     SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
     DataTable DtLocal = new DataTable();
     DataSet DsLocal = new DataSet();
     DaRec2.Fill(DtLocal);
     dataGridView1.DataSource = DsLocal;
     dataGridView1.DataMember = "FechaEmision";

    Lo que te marco en negrita no tiene ningun sentido....

    string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena ="@valor1 and codcomercio = @valor2";
     SqlCommand cmd3 = new SqlCommand(query, connDB)
    cmd3.Parameters.AddWithValue("@valor1",
    cbb_Cadena.SelectedValue) ;
    cmd3.Parameters.AddWithValue("@valor2", cbb_ Comercio .SelectedValue) ;
     SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
     DataTable DtLocal = new DataTable();
     DataSet DsLocal = new DataSet();
     DaRec2.Fill(DtLocal);
     dataGridView1.DataSource = dtLocal;

    Tal cual esto deberia enlazarte los datos recogidos de la tabla local con los parametros indicados...

    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    Thursday, January 21, 2010 3:48 PM
    Moderator
  • no me funciono me aparece este error """"La instrucción preparada '(@codcadena int,@codcomercio nvarchar(4000))select Sucursal , Co' espera el parámetro @codcomercio, que no se ha especificado.""""""

    private void btnGenerar_Click(object sender, EventArgs e){
    if (flag6 != 0){ }
    else
    {
    open_DB();
    string query = "select Sucursal , CodLocal, codComercio from sip.dbo.local where codcadena = @codcadena and codcomercio = @codcomercio";
    SqlCommand cmd3 = new SqlCommand(query, connDB);
    cmd3.Parameters.AddWithValue(
    "codcadena", cbb_Cadena.SelectedValue);
    cmd3.Parameters.AddWithValue(
    "codcomercio", cbb_Comercio.SelectedValue);
    SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
    DataTable dtLocal = new DataTable();
    DataSet DsLocal = new DataSet();
    DaRec2.Fill(dtLocal);
    dataGridView1.DataSource = dtLocal;
    flag = 1;
    flag6 = 1;
        }
    }

    • Edited by Aprendis24 Thursday, January 21, 2010 6:34 PM
    Thursday, January 21, 2010 6:18 PM
  • hola

    pero ese codigo que estas pegado no tiene que ver con el que anteriormente estabas trabajando

    o sea las consultas sql no son las mismas, no vea que uses el sql

    string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena = @codcadena and codcomercio = @codcomercio";



    has pegado el codigo correcto en el post ?

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, January 21, 2010 6:25 PM
  • no disculpen despues me di cuenta, se los coloc bien
    y este es el error que me aparece ((((La instrucción preparada '(@codcadena int,@codcomercio nvarchar(4000))select Sucursal, Cod' espera el parámetro @codcomercio, que no se ha especificado.))))

            private void btnGenerar_Click(object sender, EventArgs e)
            {
                //dataGridView1.Rows.Add(dateTimePicker1.Value.ToString(), txtNumeroFactura.Text, cbb_Cadena.Text, cbb_Local.Text);
                if (flag6 != 0)
                { }
                else
                {
                    open_DB();
                    string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena = @codcadena and codcomercio = @codcomercio";
                    SqlCommand cmd3 = new SqlCommand(query, connDB);
                    cmd3.Parameters.AddWithValue("codcadena", cbb_Cadena.SelectedValue);
                    cmd3.Parameters.AddWithValue("codcomercio", cbb_Comercio.SelectedValue);

                    SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
                    DataTable dt = new DataTable();
                    DaRec2.Fill(dt);
                    dataGridView1.DataSource = dt;
                 }
            }

    Thursday, January 21, 2010 6:47 PM
  •         private void btnGenerar_Click(object sender, EventArgs e)
            {
                //dataGridView1.Rows.Add(dateTimePicker1.Value.ToString(), txtNumeroFactura.Text, cbb_Cadena.Text, cbb_Local.Text);
                if (flag6 != 0)
                { }
                else
                {
                    open_DB();
                    string query = "select Sucursal, CodLocal from sip.dbo.local Where codcadena = @codcadena and codcomercio = @codcomercio";
                    SqlCommand cmd3 = new SqlCommand(query, connDB);
                    cmd3.Parameters.AddWithValue("@codcadena", Convert.ToInt32(cbb_Cadena.SelectedValue));

                    cmd3.Parameters.AddWithValue("@codcomercio", Convert.ToInt32cbb_Comercio.SelectedValue));

                    SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
                    DataTable dt = new DataTable();
                    DaRec2.Fill(dt);
                    dataGridView1.DataSource = dt;
                 }
            }

     

    Revisa que te puse las @ en los parametros porque te faltaban.... por otro lado, te puse Convert.ToInt32...


    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    Thursday, January 21, 2010 6:51 PM
    Moderator
  • hola

    es muy raro si llega a ser un tema de los @, yo he usado muchas veces la instruccion con sql server y nunca puse los @ y siempre me ha funcionado

    pero si lo veo por el lado de convertir al tipo de dato, esto es importante que el tipo sea el correcto y coincida con el de campo en la tabla


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, January 21, 2010 6:56 PM
  • ya lo solucione con este codigo

    open_DB();
                    string query = "select codcadena, nombre from sip.dbo.Cadena";
                    SqlCommand cmd3 = new SqlCommand(query, connDB);
                
                    SqlDataAdapter DaRec2 = new SqlDataAdapter(cmd3);
                    DataTable dt = new DataTable();
                    DaRec2.Fill(dt);
                    dataGridView1.DataSource = dt;

    Thursday, January 21, 2010 9:07 PM
  • ahora con este codigo que coloque aca es posible concatenar dos valores de una misma tabla ejemplo codcadena y nombrecadena.
    Thursday, January 21, 2010 9:16 PM
  • y eso te lo indicabamos + arriba no tenias la misma tabla...


    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    Thursday, January 21, 2010 9:16 PM
    Moderator
  • pero estas que hice segun el ejemplo que ustedes me dieron me funciono esta mal???
    Thursday, January 21, 2010 9:20 PM
  • No, está correcta, pero no usas la misma sentencia SQL que decias en tu primer mensaje, ni tan si quiera tiene una clausula where...

    Pero el metodo es correcto.

    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    Thursday, January 21, 2010 9:59 PM
    Moderator
  • hola resulta que estoy haciendo algo muy parecido, el problema es llenar un datagridview con datos que provienen ya sea de un dataSet o un datatable, el problema es que en el datagridview solo me pone los campos pero no les pone información.

     

    LEs doy un poco mas de info, resulta que tengo un datagridview con 4 columnas, pero en 1 de ellas quiero poner info que provenga de una BD, estoy debugueando y se hace correctamente la consulta y de hecho con el visor de visual studio .net confirmo que si se este trayendo la info. pero a la hora de pegar en el datagridview no lo hace solo aumenta los renglones y hasta eso si agrega los renglones que arroja la consulta.

     

    Que hago alguna propuesta?

    Friday, September 24, 2010 3:01 AM
  • Gracias me ha servido de mucho

    Thursday, May 29, 2014 1:09 AM