buenas. pues no se porque motivo, el data adapter no me actualiza la base de datos, pero tampoco me da ningun fallo -.-" no consigo encontrar la solucion.
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
private void Empleados_Load(object sender, EventArgs e)
{
try
{
str_conexion = TaxiGest.Properties.Settings.Default.cadena_conexion;
conexion
= new SqlCeConnection
(str_conexion
); conexion.Open();
da_Empleados
= new SqlCeDataAdapter
("SELECT * FROM EMP_Empleados", conexion
); 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);
}
}
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 ^^