From: | "Miguel Juan" <mjuan(at)cibal(dot)es> |
---|---|
To: | "Oscar Arca" <Oarca(at)mscparaguay(dot)com(dot)py>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: recuperar el nro del registro actualizado utilizando Ado |
Date: | 2006-05-08 13:33:04 |
Message-ID: | 003001c672a3$f0185500$07c8a8c0@Miguel |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola,
El sistema que utilizabas con dao no es demasiado fiable, ya que si alguién más inserta un registro antes de que tú leas el valor del último insertado por tí, puede generarte problemas. En sistemas con muchos usuarios simultaneos ocurre de vez en cuando, y puedes volverte loco buscando la causa de los errores.
Para solucionar este problema, en Postgres puedes usar la funcion currval('nombre_secuencia') después de haber insertado el registro. Este metodo te asegura que sólo te devolverá el último valor insertado en la tabla desde tu conexión actual.
La sintaxis sería una cosa así:
SELECT currval('nombreTabla_campoautonumerico_swq');
Otra opción, es usar nextVal() antes de insertar el registro, y después insertas el nuevo registro con el código devuelto por dicha función.
Saludos,
Miguel Juan
----- Original Message -----
From: Oscar Arca
To: pgsql-es-ayuda(at)postgresql(dot)org
Sent: Monday, May 08, 2006 2:56 PM
Subject: [pgsql-es-ayuda] recuperar el nro del registro actualizado utilizando Ado
Estoy programando en vb utilizo ado para conectarme a la bd postgres, lo q necesito hacer es
Grabar un registro y una vez grabado recuperar el autonumerico para grabarlo en otra tabla
Utilizando dao con mdb lo hacia asi:
Rs.update
Rs.movelast
Variable = Rs("campo")
Y ya estaba.
Pero ahora se me complico.
Desde ya muchas gracias
From | Date | Subject | |
---|---|---|---|
Next Message | Cristian Gallegos | 2006-05-08 13:55:57 | Tipo de dato |
Previous Message | Brian Colman | 2006-05-08 13:32:30 | Re: recuperar el nro del registro actualizado utilizando Ado |