![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Bueno, con la idea de tefots pude hacer algo que se adapte a lo que necesitaba, me di cuenta de que al adoquery le tomaba 5.5 segs para actualizar la base de datos, asi que puse un timer con un interval:6000 y resuelto jeje. Bueno, gracias a todos por sus respuestas
![]()
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
|
#2
|
||||
|
||||
|
Hola
Me alegro que lo resolvieras. Solo para que te des una idea de como lo hago yo: Saludos
__________________
Siempre Novato |
|
#3
|
||||
|
||||
![]() ![]() ![]() ![]() ![]() ![]() Talvez dentro de algunos 30 años yo este a ese nivel ![]() ![]()
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
|
#4
|
||||
|
||||
|
Hola
Que va, no te subestimes, el mas Novato aqui soy yo, con solo un par de años en esto. Pronto harás cosas de verdad, mucho mejor que estas. Saludos
__________________
Siempre Novato |
|
#5
|
|||
|
|||
|
Cita:
Gracias !! |
|
#6
|
||||
|
||||
|
Hola.
Ví que en otro hilo consultaste sobre la funcionalidad del método Requery, espero que esta traducción de la ayuda de Delphi conteste tu duda: Cita:
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#7
|
|||
|
|||
|
Cita:
Mi pregunta relacionado a esto fue que he intentado que mi procedimiento para actualizar un registro lo hace bien, puesto que al intentar actualizar me sale el siguiente mensaje: --------------------------- Debugger Exception Notification --------------------------- Project CTRO.exe raised exception class EOleException with message 'No se puede encontrar la fila para su actualización: algunos valores han cambiado desde la última vez que se leyó'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- Te comento rapido, antes mi base de datos mysql (mariadb) estaba en un servidor Windows, por necesidades exporte la base de datos ahora a un servidor Linux, al querer usar el sistema nuevamente me aparece este mensaje al querer actualizar un registro, cosa que antes en el anterior servidor no lo hacia. Mi codigo de actualización es el siguiente: Código:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM ONTs ');
SQL.Add('WHERE MAC_ONT LIKE ' +quotedstr('%' + Edit1.Text + '%')+' ');
Open;
if isEmpty Then
begin
AdoQuery1.Close; // cierro la tabla.
AdoQuery1.Open; // abro la Tabla
msError('No se encuentra registrado, Favor verifica los datos.','ERROR: ID MAC');
ADOQuery1.Active := False;
Edit1.SetFocus;
exit;
End
Else // En caso de Si haber un resultado
Begin
If MessageDlg('¿Está seguro que desea ACTUALIZAR el registro? ',mtConfirmation,[mbYes,mbNo],0) = mrYes then
begin
Alta_ONT.Cursor:= crSQLWait;
DMod1.ADOConnection1.BeginTrans; // Inicio la Transacción
try
ADOQuery1.Edit; // Editar la Tabla
ADOQuery1.FieldByName('MOD_ONT').AsString := ComboBox1.Text;
ADOQuery1.FieldByName('SERIE_ONT').AsString := Edit2.Text;
ADOQuery1.FieldByName('PON_ONT').AsString := Edit3.Text;
ADOQuery1.FieldByName('ONT_S').AsString := Edit4.Text;
ADOQuery1.FieldByName('SSID_ONT').AsString := Edit5.Text;
ADOQuery1.FieldByName('KEYWIFI_ONT').AsString := Edit6.Text;
ADOQuery1.FieldByName('IP_ONT').AsString := Edit7.Text;
ADOQuery1.FieldByName('ESTATUS_ONT').AsString := ComboBox2.Text;
ADOQuery1.Post; // Guardo Datos;
if DMod1.ADOConnection1.InTransaction then
Begin
DMod1.AdoConnection1.CommitTrans; // actualizo la BD
AdoQuery1.Close; // cierro la tabla.
AdoQuery1.Open; // abro la Tabla
Alta_ONT.Cursor:= crDefault;
MSG:='EL Registro ONU [MAC: '+ Edit1.Text + ' - MODELO: ' + ComboBox1.Text + ' - SERIE: '+ Edit2.Text +' - ONT/s: ' + Edit4.Text + ' ] - SE MODIFICO/ACTUALIZO Satisfactoriamente';
Application.MessageBox(PChar(MSG), 'Atención',MB_ICONINFORMATION );
LimpiarCampos([Edit1,Edit2,Edit3,Edit4,Edit5,Edit6,Edit7,ComboBox1,Combobox2]);
DesactivarCampos([Edit1,Edit2,Edit3,Edit4,Edit5,Edit6,Edit7,ComboBox1,Combobox2]);
// -- Inicio Botones
CargarBotonesInicio;
// -- Fin Botones
Alta_ONT.Cursor:= crDefault;
ADOQuery1.Active := False;
bnuevo.SetFocus;
End;
except
on E:Exception do // Si hay Error de Conexión
begin
DMod1.AdoConnection1.RollbackTrans;
Alta_ONT.Cursor:= crDefault;
ADOQuery1.Active := False;
MSG:='Ocurrió un error al guardar los datos: ' + E.Message;
Application.MessageBox(PChar(MSG),'ERROR !!!', MB_ICONSTOP );
Abort;
exit;
end; // on
End; // try
End
Else
Begin
AdoQuery1.Close; // cierro la tabla.
AdoQuery1.Open; // abro la Tabla
Alta_ONT.Cursor:= crDefault;
ADOQuery1.Active := False;
msInfo('¡CANCELADO POR EL USUARIO!.','Atención Proceso Cancelado..');
BCancelar.SetFocus;
exit;
End;
End;
|
|
#8
|
||||
|
||||
|
Hola.
Cita:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#9
|
|||
|
|||
|
me alegro que funcionara.
todas formas eso de esperar 6 segundos para poder ver los datos desde otro query es mas que raro , rarisimo. en teoria cuando finalizas la transaccion , los datos ya deben estár inmediatamente disponibles y debes poder verlos desde la propia aplicación o desde otra. lo del If adoquery1.connection.intransaction then Adoquery1.connection.CommitTrans lo que hace es mirar si la conexion asociada al adoquery tiene una transaccion abierta , tonces hace commit de la transaccion. lo logico seria hacerlo directamente con el adoconnection , pero como no se si tienes algun adoconnection enlazado por eso lo puse asi. que base de datos utilizas ?. tienes algun adoconnection enlazado , uno por cada adoquery o uno para los dos ? , alo mejor esta ahi el problema por cierto , lo de los querys perezosos yo nunca lo habia oido ni nunca me ha pasado , a lo mejor es que los datos se paran a tomar un café antes de que esten 'disponibles'. ![]() saludos. Cita:
|
|
#10
|
||||
|
||||
|
tefots, use una base de datos de access y no tengo ningun adoconnection, pero despreocupate, aunque dure 6 segs para estar disponible, para lo que necesito, esta mas que bueno. Gracias de nuevo por tu interes
![]()
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| actualizacion del help 129 | zidfrid | C++ Builder | 0 | 13-08-2007 00:22:56 |
| Actualizacion | principiante22 | Internet | 2 | 09-07-2007 16:36:55 |
| Actualización con SQL | luxus | Conexión con bases de datos | 4 | 08-07-2006 16:23:24 |
| Actualizacion con ADO | Carlex | Conexión con bases de datos | 5 | 09-08-2005 08:08:57 |
| actualizacion en red | @-Soft | Conexión con bases de datos | 1 | 12-08-2003 09:55:06 |
|