Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ayuda con insert (https://www.clubdelphi.com/foros/showthread.php?t=36932)

Teitek 28-10-2006 12:59:34

Ayuda con insert
 
Saludos, tengo un problemita, os explico

Tengo una base de datos paradox compartida en dos maquinas, y bueno en principio en ambas maquinas se ven las actualizaciones que ha realizado una u otra, el problema viene cuando ambas maquinas se ponen de acuerdo para añadir un registro, entonces... si por ejemplo las 2 maquinas estan en el formulario de añadir un registro la última que haga el ingreso modifica al registro que la anterior agrego. La ultima que inserte el registro actualiza a la anterior, solo se me ocurre una forma de solucionarlo pero he de cambiar muchas cosas en la aplicacion y es utilizando el InsertRecord.

A ver si alguien me puede echar una mano de como ha echo estas cosas porque a mi no se me ocurre y no veo nada de info al respecto.

Muchas gracias y un saludo

Lepe 28-10-2006 14:35:49

Faltaría decir cómo lo haces ahora mismo para intentar proporcionar una forma "compatible".

Si el último que grabe, modifica el registro, yo buscaría una forma de "buscar de nuevo la clave primaria" antes de grabar (Evento BeforePost).

Otra solución, podría ser que en el evento OnNewRecord, se hiciera un Post automático con valores predefinidos, así sería muy raro encontrar incidencias.

Saludos

Teitek 28-10-2006 15:40:11

Pues ahora mismo lo hago de la unica forma que sé...

Inserto con Table1.Insert
y cuando tengo todos los datos metidos hago un Table1.Post;

Nada mas....
El tema esque si una aplicacion está en Insert Mode y la otra igual, la ultima que haga el post actualiza el registro y no se me ocurre forma de solucionar esto..
:(

La verdad esque estoy empezando ahora con el tema de las bases de datos y estoy muy pez

Un saludo y muchas gracias por la respuesta

Lepe 28-10-2006 20:55:10

Pues lo más simple es lo más cómodo. En el Evento OnNewRecord añades:
Código Delphi [-]
//campos que no pueden ser nulos:
tabla.FieldByName('nombrecampo').AsXXX := lo que sea
tabla.Post;
tabla.edit;
Así el usuario nota un parpadeo del DBNavigator, pero el registro se guarda y después queda en modo edición. Esta idea es lo que le gusta al usuario, si está dando de alta el cliente 24 cuando le dé a guardar, que siga siendo el cliente 24.

Si usas la otra forma, (buscar la clave primaria en el evento BeforePost), el usuario puede ver que está insertando el cliente nº 24, pero al grabar, cambia y obtiene el 25, los usuarios ven un poco raro eso.

Saludos


La franja horaria es GMT +2. Ahora son las 11:51:43.

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