none
Llenar Gridview con c# RRS feed

  • Pregunta

  • Hola, soy nueva programando, mi duda aqui es por que no puedo llenar mis datos en el datagrid. Mi BD esta en mysqlworkench, podrian indicarme cual es mi error? por favor, he consultado varias paginas para validad y corregir mi informacion pero hasta el momento no encuentro algo qu eme ayude, se que algo me falta, pero no aprecio que es lo que falta

    Les comparto mi codigo 

    private void BtnAgregar_Click(object sender, EventArgs e)
            {


                try
                {
                    MySqlConnection con = new MySqlConnection("Server= localhost; database=CMC_Clientes; Uid=root;Pwd=1234; port=3306");
                    con.Open();
                    DataTable dt = new DataTable();

                    MySqlCommand query = new MySqlCommand ("insert into clientes (id_Cliente, Razon_Social, RFC, Direccion,Estado, Cod_Postal, Correo, Nombre_Contacto) Values ('"+txtId_Cliente.Text+"', '"+txtRazon_So.Text+"', '"+txtRFC.Text+"','"+txtDireccion.Text+"','"+txtCodigop.Text+"','"+txtCorreo.Text+"', '"+txtContacto.Text+"')", con);

                    query.ExecuteNonQuery();
                    MySqlCommand cmd = new MySqlCommand("select * from clientes", con);
                    MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    da.Fill(dt);


                }
                catch
                {
                    MessageBox.Show("Error al insertar registro");

                }

                                   
    viernes, 12 de julio de 2019 19:43

Todas las respuestas

  • de verdad usa un MessageBox.Show() en un desarrollo web?

    sabes que no se puede utilizar, no? tienes que generar el mensaje que cree codigo un alert en javascript

    si el mensaje lo veras en el servidor, no en el cliente

    Ademas para ver el problema deberias usar

    catch(Exception ex) 
    {
            string mensaje = ex.Message; 
    }

    asi te enteras porque falla

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    viernes, 12 de julio de 2019 21:17
  • El problema es que no usas parametros en el insert

    string connstring = "Server= localhost; database=CMC_Clientes; Uid=root;Pwd=1234; port=3306";
    MySqlConnection con = new MySqlConnection(connstring);
    con.Open();
    
    
    string insert = @"insert into clientes (id_Cliente, Razon_Social, RFC, 
    			Direccion,Estado, Cod_Postal, Correo, Nombre_Contacto) 
    		 Values (?id, ?razonsocial, ?rfc, ...)";
    MySqlCommand cmdInsert = new MySqlCommand (insert, con);
    
    cmdInsert.Parameters.AddWithValue("?id", Convert.ToInt32(txtId_Cliente.Text));
    cmdInsert.Parameters.AddWithValue("?razonsocial", txtRazon_So.Text);
    cmdInsert.Parameters.AddWithValue("?rfc", txtRFC.Text);
    //resto parametros
    query.ExecuteNonQuery();
    
    MySqlCommand cmd = new MySqlCommand("select * from clientes", con);
    MySqlDataAdapter da = new MySqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);

    debes respetar los tipos de datos, si vas a indicar un id se supone qu es numerio y no lo pones entre comillas por eso en la parametro lo conviertes a int


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta eRiver1 lunes, 15 de julio de 2019 9:01
    viernes, 12 de julio de 2019 21:52
  • Debido a que no hemos recibido alguna notificación que aún se esté presentando el problema que enuncia en vuestra consulta y que la respuesta provista provee un amplio panorama y campo de acción sobre tu duda; nos gustaría considerar la misma como resuelta debido a la respuesta apropiada proporcionada  y así proceder a calificar la misma como respuesta.

    No dudes en ampliar más sobre este tema si es que aún lo requirieras o de abrir una nueva consulta en caso de tener alguna situación o necesitarla con algún otro de los productos de Microsoft.

     

    Adicional le invito a consultar los siguientes recursos:

    Guía para formular preguntas en el foro

    Channel 9 - donde puedes encontrar una sección de: Administración de Windows Servers

     

     

    Gracias por usar los foros de TechNet.

    Erick Rivera

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    viernes, 26 de julio de 2019 15:02