Hola, creo que no estoy utilizando correctamente el metodo AcceptChanges porque no se me actualizan los datos en la base de datos. Hago lo siguiente:
Código:
bdpInsertCommand1.CommandText := 'insert into usuarios (IDUSUARIO,PASSWORD,' +
'NOMBRE,PRIMERAPELLIDO,SEGUNDOAPELLIDO,EMAIL,' +
'ULTIMAOPERACIONREALIZADA,INTENTOSLOGIN,' +
'USUARIOBLOQUEADO,PRIVILEGIOS,FECHACREACION) values (' +
ApostrofeSTR ( IDentificadorUsuarioTextBox.Text ) + ',' +
ApostrofeSTR ( PasswordTextBox.Text ) + ',' +
ApostrofeSTR ( NombreUsuarioTextBox.Text ) + ',' +
ApostrofeSTR ( PrimerApellidoTextBox.Text ) + ',' +
ApostrofeSTR ( SegundoApellidoTextBox.Text ) + ',' +
ApostrofeStr ( EmailTextBox.Text ) + ',' +
ApostrofeStr ( Fecha.ToShortDateString ) + ',' +
ApostrofeStr ( '0') + ',' +
ApostrofeStr ( 'No') + ',' +
ApostrofeSTR ( 'Administrador' ) + ',' +
ApostrofeStr ( Fecha.ToShortDateString ) + ')';
If ConexionBdpConnection.State = ConnectionState.Closed Then ConexionBdpConnection.Open;
bdpInsertCommand1.Transaction := ConexionBdpConnection.BeginTransaction;
bdpInsertCommand1.ExecuteNonQuery;
bdpInsertCommand1.Transaction.Commit;
ConexionBdpConnection.Close;
GlobalBDWinForm.UsuariosBdpDataAdapter.Update ( GlobalBDWinForm.TablasDataSet, 'usuarios' );
GlobalBDWinForm.TablasDataSet.Tables['usuarios'].AcceptChanges;
Si en vez de ese código utilizo el siguiente para guardar los datos sí que funciona, pero pieso que estas dos líneas son más lentas que utilizar el AcceptChanges:
Código:
GlobalBDWinForm.TablasDataSet.Tables['usuarios'].Clear;
GlobalBDWinForm.UsuariosBdpDataAdapter.Fill ( TablasDataSet, 'usuarios' );
¿Alguien sabe donde está el fallo?
Gracias.