Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2012
jcrios_9 jcrios_9 is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 13
Poder: 0
jcrios_9 Va por buen camino
Error couldn't perform the edit because another user change the record

Buenas compañeros, tengo el siguiente codigo

Código Delphi [-]

 Table1->Edit();
            Table2->Edit();
            Table1->FieldByName("Dni")->Value = Edit1->Text;
            Table1->FieldByName("Nombre")->Value = Edit2->Text;
            Table2->FieldByName("Apellido1")->Value = Edit3->Text;
            Table2->FieldByName("Apellido2")->Value = EditApe2->Text;
            Table1->FieldByName("Provincia")->Value = EditProv->Text;
            Table1->FieldByName("Localidad")->Value =EditLoc->Text ;
            Table1->FieldByName("Direccion")->Value = Edit4->Text ;
            Table1->FieldByName("Telefono")->Value = Edit5->Text ;
            Table1->FieldByName("Email")->Value = Edit6->Text ;
            Table1->Post();
            Table2->Post();

pero resulta que me sale el error: Error couldn't perform the edit because another user change the record.
El error sale justo antes de Table2->Post(); Es decir, el post de la tabla1 lo hace bien, pero el de la tabla 2 no.

Con una tabla simpre me sale bien, pero al meterle dos tablas sale dicho error. Alguien puede decirme a que se debe?'

Muchas gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 24-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, si no das más datos no sé si será posible ayudarte.
De todas formas hay algo que me llama mucho la atención, ¿por qué esas dos tablas y por qué esa mezcla tan extraña?
Responder Con Cita
  #3  
Antiguo 24-09-2012
jcrios_9 jcrios_9 is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 13
Poder: 0
jcrios_9 Va por buen camino
Uso dos tablas porque es una herencia. Hay una tabla clientes(Tabla1) de la cual heredan personas(Tabla2) y empresas.

Entonces necesito almacenar los datos en ambas tablas. Lo curioso es que antes estaba con una sola tabla e iba bien y ahora con las dos tablas suele falla. Porqué falla solo el post de la tabla personas?

He puesto el trozo de codigo donde falla.
Responder Con Cita
  #4  
Antiguo 24-09-2012
jcrios_9 jcrios_9 is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 13
Poder: 0
jcrios_9 Va por buen camino
Haciendo mas pruebas, he averiguado que si modifico solo los datos de la primera tabla, peta, sin embargo, si modifico los datos de ambas tablas, no da error.
Responder Con Cita
  #5  
Antiguo 26-09-2012
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Talking

Cita:
Empezado por jcrios_9 Ver Mensaje
Buenas compañeros, tengo el siguiente codigo

Código Delphi [-]

 Table1->Edit();
            Table2->Edit();
            Table1->FieldByName("Dni")->Value = Edit1->Text;
            (...)
            Table1->FieldByName("Email")->Value = Edit6->Text ;
            Table1->Post();
            Table2->Post();

pero resulta que me sale el error: Error couldn't perform the edit because another user change the record.
El error sale justo antes de Table2->Post(); Es decir, el post de la tabla1 lo hace bien, pero el de la tabla 2 no.

Con una tabla simpre me sale bien, pero al meterle dos tablas sale dicho error. Alguien puede decirme a que se debe?'

Muchas gracias y un saludo.
Saludos

Algunas veces cuando insertas los datos manualmente debes avisarle al DataSet que vas a hacerlo, para eso se provee la función UpdateRecord():

UpdateRecord es usada internamente por algunos métodos del dataset para informar a los controles de datos(componentes DATA CONTROL) de cambios realizados y lanzar un evento OnUpdateRecord para atrapar las modificaciones. Las aplicaciones no necesitan llamar a UpdateRecord directamente a menos que se salten los métodos establecidos por el DataSet.
En tu caso estas saltándote esos métodos ya que estas asignando los valores manualmente. Ej: Error couldn't perform the edit because another user change the record. Tu codigo debería quedar así mas menos:

Código:
 Table1->Edit();
            Table2->Edit();
            Table1->FieldByName("Dni")->Value = Edit1->Text;
            (...)
            Table1->Post();
            Table2->UpdateRecord();
            Table2->Post();
o al menos eso creo !!! hehehe prueba y me dices que tal te salio !!!


P.D. Si usas C++ usa la etiqueta CODE y no la de Delphi ok !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________

Última edición por lmpadron fecha: 26-09-2012 a las 17:22:44.
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
Couldn't perform the edit because another user changed the record look OOP 1 08-01-2008 13:19:19
couldn't perform the edit because another user changed the record look OOP 2 17-10-2007 16:23:55
Couldn't perform the edit because another user changed the record farmond MS SQL Server 19 21-08-2007 14:38:09
mssql another user change the record eureka Conexión con bases de datos 2 21-02-2007 18:55:00
error couldn't perform the edit because another user changed the record marcelofabiani Conexión con bases de datos 3 25-01-2005 01:55:11


La franja horaria es GMT +2. Ahora son las 02:07:20.


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