FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como actualizar un solo registro en firebird 2.1?
Que tal a todos...
DB = Firebird 2.1 Componente = FIBplus 6.8 Mi caso es el siguiente... Tengo una tabla FACTURA y DETALLEFACTURA le asigno un numero de identificacion de la PC y luego de grabar ejecuto un Store Procedure para ponerle el numero original (el ultimo mas uno) de 4 usuario, y luego necesito leer y/o actualizar el registro para mandar a imprimir la factura con su numero original.. He usado el Refresh y no me funciona... si uso Fullrefresh me funciona pero es muy lento y tengo que dar un LOCATE para posicionarme nuevamente en el registro que quiero imprimir... Una idea por favor... Gracias |
#2
|
||||
|
||||
¡Hola!
No he manejado los componentes FIBPlus, pero creo que se te ha presentado ese problema algo común ya y por el cual pocos se preocupan. Me he dado cuenta que muchas veces se opta por usar un "Refresh" de todo el listado, lo cual, como bien has señalado, es pesado. En caso de que por sí mismos los FIBPlus no tengan la siguiente característica, te invito a usar TClientDataSet, ya que una ventaja más de este estupendo componente nativo es su capacidad de eliminar e insertar filas en su cursor de memoria, gracias a lo cual puedes realizar una especie de RefreshRecord consultante. En este otro hilo StartKill llevo a cabo una exitosa implementación de ese mecanismo: http://www.clubdelphi.com/foros/showthread.php?t=62154 Espero haber orientado. Saludos. Al. |
#3
|
||||
|
||||
Recuerdo que hace unas semanas tenía el mismo problema con FIB, estaba utilizando un "cacheInsert" y luego llamaba el refresh para obtener detalles de un registro que se acaba de crear en otro ventana. Sin embargo, por más que intentaba con el refresh, éste no me daba.
No recuerdo exactamente como lo resolví, y no puedo revisar pues no tengo el código fuente a mano en este momento. Pero la solución va más o menos así: Escribí yo mismo el código SQL de refresh. Luego asigne a "False" una de estas dos propiedades "AutoRewriteSQL" o "CanChangeSQL", una de ellas, sin embargo, a como dijé anteriormete, no recuerdo exactamente. De todos modos haz la prueba y luego me comentas que has conseguido. Saludos. PD.: En mi caso, los código SQL para "UpdateSQL", "InsertSQL" estaban en blanco, por lo cual FIBPlus se encargaba de crearlos automáticamente, el único que especifiqué fue el "RefreshSQL", hasta donde recuerdo no tenía nada extraordinario, era el típico RefreshSQL que se utiliza en la mayoría de los Datasets. |
#4
|
|||
|
|||
Gracias a ambos por su respuesta... D&W podrias cuando puedas hacer un esfuerzo y buscar la solucion exacta de como lo resolviste... te lo agradecere mil veces...
Un saludo... |
#5
|
||||
|
||||
Cita:
Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como sacar un solo registro con Firebird? | El_Raso | Firebird e Interbase | 3 | 12-02-2006 17:19:44 |
como actualizar un solo campo de una BD | Nelly | Conexión con bases de datos | 2 | 07-12-2005 00:58:31 |
¿Cómo imprimo sólo un registro de una tabla? | nuri | Impresión | 3 | 06-07-2005 21:11:03 |
Actualizar sólo 1 registro en cliente/servidor | Rufus | Conexión con bases de datos | 7 | 21-06-2004 13:02:14 |
Como hacer los calculos de un solo registro? | CRIS | SQL | 1 | 20-10-2003 17:05:25 |
|