Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2006
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
Exclamation problemas al actualizar por segunda vez

hol@

este tema ya lo habia expuesto en otra ocasion pero no recibi respuesto, he optado por iniciar el mismo tema nuevamente en otro hilo, pido disculpas.

estoy en fase de culminacion de un sistema de control de academias educativas pequeñas, estoy trabajando con delphi 7, BDE, Paradox por la razon de que son academias pequeñas, para no entrar en detalle con el tema de las SGBD y DB Desktop, etc.

en los mantenimientos utilizo una barra de botoneria que esta compuesto por (Insertar, Modificar, Grabar, Cancelar, Eliminar, Buscar), debido esto a que trabajo con componentes DataAdware.

estoy utilizando componentes tQuery en vez de usar tTable por conveniencia, debido a que yo utilizo un campo logico para marcar registros como borrados y al yo traer los registros con el tQuery pues condicionarlos, es decir, puedo hacer un (Select * From MiTabla Where reg_eliminado = 0) donde 0 quiere decir que no ha sido eliminado.

con un TQuery yo puede efectuar las mismas operacion que con un TTable, es decir, un Insert o Append, un Edit, un Post.

despues de mucho bla bla, es en esta parte donde recide el problema, cuando yo modifico un registro por primera vez me graba los cambios sin dar error, pero cuand modifico ese mismo registro al otra vez, en el instante me da un error que dice : Couldn't perform the edit because another user change the record. no se porque se produce este error, solo pude determinar que se genera realizar un ApplyUpdate por segunda vez, esta es la sentencia para que confirme:

Código Delphi [-]
if dsMiQuery.State in [dsInsert, dsEdit] then
begin
     try
         qMiQuery.Post;
         qMiQuery.ApplyUpdate;
     Except
      ....
end;

un saludo
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #2  
Antiguo 07-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si lees la ayuda de Delphi verás que hay varios pasos involucrados que deben seguirse. Luego de Query.ApplyUpates, debes hacer un Database.Commit y finalmente un Query.CommitUpdates. Esta última- según la ayuda de Delphi -es la encargada de limpiar el caché. También- según nuevamente, la ayuda de Delphi -si usas Database.ApplyUpdates (en lugar de Query.ApplyUpdates), ahorras varios pasos.

// Saludos
Responder Con Cita
  #3  
Antiguo 07-09-2006
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
muchas gracias roman, la parte de commitupdate era lo que faltaba.

muuuuuuuchas gracias.
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
error al actualizar un registro por segunda vez @-Soft Conexión con bases de datos 8 17-07-2006 15:11:15
Problemas al actualizar en dbgrid oscjae Firebird e Interbase 1 01-12-2005 15:14:30
Segunda llamada, segunda roman Noticias 16 07-07-2005 21:02:56
Problemas al actualizar un TClientDataset y ADO PEDRO_PASAMAR Conexión con bases de datos 1 30-11-2004 10:52:46
Problemas al actualizar con upWhereChanged(dbExpress) ibarrols Conexión con bases de datos 8 11-07-2003 15:16:37


La franja horaria es GMT +2. Ahora son las 06:26:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi