Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

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

hola

estoy el el proceso de desarrollo de un software con delphi7, bde, paradox y tquery. al momento de yo insertar y modificar no tengo problemas, pero al momento de actualizar un mismo registro por segunda vez consecutivo me da el siguiente error:

Código:
Couldn't perform the edit because another user changed the record.
y esto solo pasa cuando trabajo con TQuery, si uso TTable no hay problemas pero no me actualiza sino hasta que cierro y abro el dataset. entonces que puedo hacer para que este error no me aparesca este error.

Salu2
__________________
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 04-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 21
nemesio Va por buen camino
Hola

Si trabajas con TTable, debes hacer un Post después de la inserción o Modificación. En el Evento AfterPost del Ttable, coloca : NombreTabla.FlushBuffers; esto te va permitir que se actualice la tabla sin necesidad de cerrarla.
Si trabajas con TQuery y te da ese error podría ser porque no estás cerrando la consulta antes.
Debes tener la siguiente sintaxis:

Query1.Close;
Query1.SQL.Add('........');//tu sql para la modificacion
Query1.ExecSQL;
Query1.Open;
Si estas haciendo eso y persiste el error, entonces envía el código para ver donde está el detalle.
Responder Con Cita
  #3  
Antiguo 04-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
 Query1.Close;
 Query1.SQL.Add('........');//tu sql para la modificacion
 Query1.ExecSQL;
//o
 Query1.Open;

Nemesio supongo que quieres decir que utilice ExecSql u Open dependiendo de que la consulta se de acción o de selección.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 04-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 21
nemesio Va por buen camino
Si Marcos, gracias por el detalle.
Responder Con Cita
  #5  
Antiguo 05-07-2006
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 24
@-Soft Va por buen camino
Cool

hola

pues el metodo que estoy usando es normal como si fuera un TTable, pero con TQuery

Código Delphi [-]
qObservaciones.Open;
   qObservaciones.Append;
   qObservacionesComp_id.Value         := fMenu.vCodCompany;
   qObservacionesPeri_id.Value         := fMenu.vPeriodo;
   qObservacionesEmat_matricula.Value  :=   qEstuSuspendidosemat_matricula.Value;
   qObservacionesSecc_id.Value         := qEstuSuspendidossecc_id.Value;
   qObservacionesObse_tipo_observ.Text := 'SUSPENDIDO';
   qObservacionesObse_observacion.Text := memObservacion.Lines.Text;
   qObservacionesUsua_usuario.Value    := fMenu.vUserLogin;
   qObservacionesObse_fecha_alta.Value := Date;
   qObservaciones.Post;
   qObservaciones.ApplyUpdates;
   qObservaciones.Close;
__________________
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
  #6  
Antiguo 06-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 21
nemesio Va por buen camino
Hola

De esa forma no lo vas a hacer, tienes que hacerlo por medio de una consulta de acción y pasarle los parámetros.

Código Delphi [-]
Query1.Close;
Query1.SQL.Add('........');//tu sql para la modificacion
Query1.ParamByName('Campo1').Value:=Edit1.Text;
...
..

Query1.ExecSQL;
//o
Query1.Open;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
actualizar registro de windows jmeng2 Varios 2 08-12-2004 16:44:02
Actualizar registro activo en DBLookupListBox i.larranaga Conexión con bases de datos 2 21-07-2004 08:41:21
Error al llamar por segunda vez al QReport Ana Cristina Impresión 4 09-07-2004 08:31:36
Error al cargar formulario por segunda vez sgarrido Varios 4 19-05-2004 23:06:15
Actualizar un único registro Muten Firebird e Interbase 2 16-03-2004 16:03:30


La franja horaria es GMT +2. Ahora son las 22:59:00.


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