Usuario
Llenar Gridview con c#

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");
}
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- Editado Leandro TuttiniMVP viernes, 12 de julio de 2019 21:47
-
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
-
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.