Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2012, 14:36
JuaNiNNaio
 
Fecha de Ingreso: diciembre-2007
Mensajes: 124
Antigüedad: 16 años, 11 meses
Puntos: 2
Problema actualización datagrid despues de INSERT C#

Ante todo buenas noches.

Estoy haciendo una aplicacion en C# con Windows Forms y tengo un problema.

Tengo 3 Datagrids relacionados, y a la hora de añadir un registro en uno mediante un insert, este datagrid no se actualiza, lo he intentado de varias formas pero no logro conseguirlo.

Este es el método donde hago el insert:

Código:
public void addCliente( string dni, string nombre, string apellidos, string telefono,
                                string direccion, string num_cliente_noah )
        {
            try
            {
                string path = Application.StartupPath;
                string cadena = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + "\\bd.mdb;Persist Security Info=False";
                OleDbConnection conexion = new OleDbConnection( cadena );

                string sql = "INSERT INTO CLIENTES(DNI,NOMBRE,APELLIDOS,TELEFONO,DIRECCION,NUM_CLIENTE_NOAH,NUM_CLIENTE_INTERNO) VALUES (@DNI, @NOMBRE, @APELLIDOS, @TELEFONO, @DIRECCION, @NUM_CLIENTE_NOAH, @NUM_CLIENTE_INTERNO)";
                OleDbCommand orden = new OleDbCommand( sql, conexion );
                orden.Parameters.Add( new OleDbParameter( "@DNI", OleDbType.VarChar ) );
                orden.Parameters["@DNI"].Value = dni;
                orden.Parameters.Add( new OleDbParameter( "@NOMBRE", OleDbType.VarChar ) );
                orden.Parameters["@NOMBRE"].Value = nombre;
                orden.Parameters.Add( new OleDbParameter( "@APELLIDOS", OleDbType.VarChar ) );
                orden.Parameters["@APELLIDOS"].Value = apellidos;
                orden.Parameters.Add( new OleDbParameter( "@TELEFONO", OleDbType.VarChar ) );
                orden.Parameters["@TELEFONO"].Value = telefono;
                orden.Parameters.Add( new OleDbParameter( "@DIRECCION", OleDbType.VarChar ) );
                orden.Parameters["@DIRECCION"].Value = direccion;
                orden.Parameters.Add( new OleDbParameter( "@NUM_CLIENTE_NOAH", OleDbType.VarChar ) );
                orden.Parameters["@NUM_CLIENTE_NOAH"].Value = num_cliente_noah;
                orden.Parameters.Add( new OleDbParameter( "@NUM_CLIENTE_INTERNO", OleDbType.VarChar ) );
                orden.Parameters["@NUM_CLIENTE_INTERNO"].Value = num_cliente_noah + "/" + DateTime.Now.Year;

                orden.Connection.Open();
                orden.ExecuteNonQuery();
                orden.Connection.Close();

                // TO DO: Hacer que se actualice sin tener que reiniciar la puta pp
                Application.Restart();
            }
            catch( Exception ex )
            {
                MessageBox.Show( ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error );
            }
        }
¿Qué tendría que hacer para después del insert, el datagrid me obtuviera de nuevo todos los datos de la tabla? Si cierro y abro la aplicación si me los vuelve a cargar, por lo que creo que necesito esa carga que se hace al inicio, hacerla en el momento que yo quiera. ¿Como puedo hacerlo?

Gracias