Siguiendo con el post anterior ahora veremos como podemos actualizar un datagridview y que este siempre actualizado con la informacion que vamos ingresando.
Para empezar agregaremos un nuevo item este sera un Windows Form como se muestra en la imagen.
Ahora agregaremos los siguiente:
un DataGridview y un boton el cual llevara como nombre btnActualizar, una vez que termines el diseño de tu formulario a tu gusto tendra una forma parecida a la siguiente imagen.
Aqui viene el codigo lo primero sera importar el namespace al principio del codigo que seria:
using.System.Data.SqlClient
Una vez que hemos importado el namespace declararemos dos variables privadas dentro de la clase form las cuales seran:
private BindingSource bindingsource1=new BindingSource();
Private SqlDataAdapter dataAdapter=new SqlDataAdapter();
La primer linea nos servira como enlace de los datos de la tabla con el datagridview
La segunda linea nos permitira poder unir nuestra consulta y la conexion.
Al final tendremos algo asi.
Posteriormente vamos a crear la funcion llamada actualizar como en la imagen que se presenta.
Vamos a explicar esta funcion.
actualizar(string consulta) esto permite que pasemos una cadena para que nos devuelva un resultado.
Aqui definimos la ruta de nuestra base de datos.
String datasource = @”Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Arturo\Documents\Visual Studio 2008\Projects\ventas\ventas\dbempresa.mdf;Integrated Security=True;User Instance=True”;
Aqui ya enlazamos la consulta con la BD
dataAdapter = new SqlDataAdapter(consulta, datasource);
Generamos un comando para asociarlo con nuestro dataAdapter y poder tener actualizada la informacion de nuestra BD
SqlCommandBuilder comando = new SqlCommandBuilder(dataAdapter);
Creamos una nueva tabla.
DataTable tabla = new DataTable();
Llenamos nuestro dataAdapter con los campos de nuestra tabla
dataAdapter.Fill(tabla);
Asignamos la fuente de datos de nuestro bindingsource
bindingsource1.DataSource = tabla;
Ahora vamos a asignarle a nuestro DataGridviewsu fuente de datos y llamar a la funcion actualizar con nuestro parametro tal como se muestra en la imagen esto lo debemos realizar en el form load.
En el evento Clic de nuestro boton btnActualizar ira la siguiente linea:
actualizar(dataAdapter.SelectCommand.CommandText);
su funcion es crear una consulta de seleccion es decir pasa el mismo parametro que pusimos en el Form Load
Con esto terminamos, solo resta abrir el form2 desde el form1 con ello agregaremos un nuevo boton en el form1 y pondremos:
Form2 form2=new Form2;
form2.show();
SqlCommandBuilder comando = new SqlCommandBuilder(dataAdapter);






Publicado por D-dwight en octubre 30, 2009 at 6:08 am
Arturo…oyeme!!! de verdad que gran ayuda colega…este codigo es con algo que he estado batallando desde hace tiempo….se te agradece el gesto de compartir tu experiencia con los que estamos aprendiendo…..
te mando saludos
att.
d-dwight
Publicado por gonzalo en enero 28, 2010 at 12:32 am
bien practico tu codigo, bien ahi graxias
Publicado por jUAN S en marzo 4, 2010 at 3:44 am
hOLA DISCULPA, SEGUI TODOS LOS PASOS, PERO CUANDO DOY CLIC EN EL BOTON ACTUALIZAR QUITA EL REGISTRO QUE AGREGUE Y NO ACTUALIZA, LA DIFERENCIAS ES QUE EN MI DATAGRIDVIEW TENGO BOTONES DEL LADO DERECHO QUE POSTERIORMENTE LOS QUIERO PARA ELIMINAR EL REGISTRO CORRESPONDIENTE, COMO LE PUEDO HACER EN ESE CASO.
SALUDOS
Publicado por Oscar en abril 3, 2010 at 6:14 am
Saludos!, primero que nada, pues son muy utiles tus tutoriales, lleve a cabo este programa pero tengo un problema en tiempo de ejecucion me manda un error a esta linea: private void btnActualizar_Click(object sender, EventArgs e)
{
actualizar(dataAdapter.SelectCommand.CommandText);
}
Error: NullReferenceException was unhandled
Referencia a objeto no establecida como instancia de un objeto.
y pues estuve ya moviendole y nomas no encontre solucion, te agradeceria si me puedes dar una solucion Gracias! mi correo es os_k@hotmail.com
Publicado por Manuel en mayo 11, 2010 at 9:32 am
Hola, fijate que estoy llevando a cabo un proyecto y el sitio me ha sido de bastante ayuda, ahorita estaba intentando correr el codigo y me da el mismo problema que le dio a Oscar.
private void btnActualizar_Click(object sender, EventArgs e)
{
actualizar(dataAdapter.SelectCommand.CommandText);
}
Error: NullReferenceException was unhandled
Referencia a objeto no establecida como instancia de un objeto.
estuve viendo si podia resolverlo pero no me dio la cabeza, si pudieras corregirme donde tengo el error o que hace falta para que en el dataview se vean los datos mi correo es jjpalacios_sanchez@hotmail.com
De Antemano Gracias!
Publicado por YESENIA en abril 15, 2011 at 6:25 am
Excelente muchisimas gracias no sabes lo q esto me ayudo segui todo al pie de la letra y me funciono perfecto
Publicado por Isaias en abril 20, 2011 at 8:39 pm
E implementado el codigo paso a paso del ejemplo pero no funciona
si me puedes enviar el codigo en mi correo funcionando
Publicado por Isaias en abril 20, 2011 at 9:03 pm
urgenta el codigo que publicaste no funciona ya lo probe y no actualiza los registros de la bd, por fabor si el codigo modificado u otro que funcione , te agradeseria si me lo envias a mi correo bfuentes.td@gmail.com.
gracias
Publicado por Daniel en mayo 4, 2011 at 3:45 pm
Tengo todo exactamente igual.. solo que yo estoy trabajando con bd en mysql y uso : “using MySql.Data.MySqlClient;” me conecto a la base de datos bien, puedo grabar ,eliminar registros en la bd…
lo unico q necesito es poder guardar los cambios que se realizan en el datagridview
mi duda es si mi Datasource seria asi:
“String datasource = @”Server=localhost;Database=pitas;Uid=root;Pwd=123;Port=3306″;”
o si este codigo no funciona con mysql… cualquier ayuda se agradece
PD: soy nuevo en c#
Publicado por Byron en junio 27, 2011 at 3:53 pm
Gracias ingeniero atomico
Publicado por Milton Valencia en octubre 18, 2011 at 2:33 pm
oye amigo muchisimas gracias, deverdad se agradece tu gesto tan generoso al compartir este codigo con nosotros. De verdad lo necesitaba ya que recien soy un iniciado en el Visual studio c#. ¡Gracias!.