Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
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 22-01-2009
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
Angry 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
Responder Con Cita
  #2  
Antiguo 22-01-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡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.
Responder Con Cita
  #3  
Antiguo 22-01-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
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.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #4  
Antiguo 23-01-2009
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
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...
Responder Con Cita
  #5  
Antiguo 23-01-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por El_Raso Ver Mensaje
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...
Raso, por el momento deberías buscar x otro lado, ya que podré postear la solución exacta hasta el lunes, y auque quieras esperar, no es seguro que vaya a servir en tu caso. Por el momento sigue intentando y si de aquí al lunes no tienes una solución, con gusto comparto la mía.

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
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
Como sacar un solo registro con Firebird? El_Raso Firebird e Interbase 3 12-02-2006 16:19:44
como actualizar un solo campo de una BD Nelly Conexión con bases de datos 2 06-12-2005 23:58:31
¿Cómo imprimo sólo un registro de una tabla? nuri Impresión 3 06-07-2005 20:11:03
Actualizar sólo 1 registro en cliente/servidor Rufus Conexión con bases de datos 7 21-06-2004 12:02:14
Como hacer los calculos de un solo registro? CRIS SQL 1 20-10-2003 16:05:25


La franja horaria es GMT +2. Ahora son las 01:52:18.


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