Club Delphi  
    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 Temas de Hoy

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: 22
@-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: 19
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: 19
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: 22
@-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: 19
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



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 11:30:40.


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