espero que podais ayudarme.
aqui os pongo el codigo del evento del boton insertar y el del form load.
dt_Empleados --> DataTable
da_Empleados --> DataAdapter
Código
private void Empleados_Load(object sender, EventArgs e) { try { str_conexion = TaxiGest.Properties.Settings.Default.cadena_conexion; conexion.Open(); dt_Empleados.Clear(); da_Empleados.Fill(dt_Empleados); dgv_Empleados.DataSource = dt_Empleados; conexion.Close(); campos = new TextBox [7] { txt_dni, txt_nombre, txt_apellidos, txt_telefono, txt_telefonomovil, txt_segsocial, txt_fechaalta}; } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); menu_salir_Click(null, null); } }
Código
private void btn_insertar_Click(object sender, EventArgs e) { DataRow nuevo_empleado; nuevo_empleado = dt_Empleados.NewRow(); try { if (campos[0].Text == "" || campos[1].Text == "" || campos[2].Text == "" || campos[5].Text == "" || campos[6].Text == "") { MessageBox.Show("Se ha producido un error al agregar un nuevo empleado. Revise los datos introducidos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } for (index = 0; index < dt_Empleados.Columns.Count; index++) { nuevo_empleado[index] = campos[index].Text; } dt_Empleados.Rows.Add(nuevo_empleado); dt_Empleados.AcceptChanges(); //NO GUARDA LOS CAMBIOS EN LA BASE DE DATOS da_Empleados.Update(dt_Empleados.Select(null, null, DataViewRowState.CurrentRows)); vaciar_campos(); } catch (Exception ex) { MessageBox.Show(ex.Message + "Se ha producido un error al agregar un nuevo empleado. Revise los datos introducidos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
cualquier critica es bien recibida
un saludo, y gracias por adelantado ^^