Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Componentes conexión Firebird + Delphi 7 que soporten SetRange, FindKey, etc (https://www.clubdelphi.com/foros/showthread.php?t=77518)

tdi_daniel 03-02-2012 14:05:01

Componentes conexión Firebird + Delphi 7 que soporten SetRange, FindKey, etc
 
Buenas, necesito unos componentes de conexión entre Delphi 7 y firebird que soporten los típicos append, edit, post, findkey, setrange, etc.

He probado con DBX, ZeosLib, AnyDAC y IBDAC, y me funcionan bien (excepto el IBDAC con el que no me compilan ni un proyecto de ejemplo), pero no incluyen ni findkey ni setrange, los cuales me resultan bastante importantes ya que tengo que cambiar de base de datos una aplicación con bastantes de estas sentencias.

Un saludo.

jgutti 06-02-2012 13:34:32

los ibclientdataset

tdi_daniel 06-02-2012 17:08:47

Cita:

Empezado por jgutti (Mensaje 424331)
los ibclientdataset

Acabo de comprobar el componente que me comentas (es uno de los que vienen por defecto en la paleta InterBase) y efectivamente tiene los procedimientos SetRange y FindKey, pero creo que no me vale para el fin que persigo, ya que lo que yo necesito es poder recorrer las distintas tablas de la BBDD y poder realizar Append, Open, Close, Edit, Post, SetRange, CancelRange, FindKey, Locate, etc, pero sobre la tabla (como si se tratase de un TTable normal).

Hasta ahora esto lo podía hacer sin problemas (tengo aplicaciones hechas en Paradox y en Pervasive), pero en Firebird no encuentro ningún componente que lo haga (mi intención es migrar todas las aplicaciones a Firebird modificando lo menos posible el código fuente ya que son miles de líneas de código plagadas de SetRange y FindKey, para lo cual no me importa tener que utilizar algún complemento de pago, siempre y cuando tenga estos procedimientos).

Un saludo.

Casimiro Notevi 06-02-2012 17:49:10

No me entero de qué quieres entonces :confused:

tdi_daniel 06-02-2012 18:01:08

Cita:

Empezado por Casimiro Notevi (Mensaje 424341)
No me entero de qué quieres entonces :confused:

Poder hacer un SetRange y un FindKey a una tabla de una base de datos FireBird (por ejemplo: nombreTabla.SetRange[X],[Y]), para lo cual lo único que necesito es un componente que lo soporte.

newtron 06-02-2012 20:30:50

Hola.

Lo que creo que necesitas son componentes que admitan el componente ttable, como si fueran bases de datos de escritorio. Yo hace tiempo estuve haciendo unas pruebas y encontré esto. La única pega es que es de paganini.

Saludos

tdi_daniel 07-02-2012 09:58:19

Cita:

Empezado por newtron (Mensaje 424361)
Hola.

Lo que creo que necesitas son componentes que admitan el componente ttable, como si fueran bases de datos de escritorio. Yo hace tiempo estuve haciendo unas pruebas y encontré esto. La única pega es que es de paganini.

Saludos

Exacto, lo que necesito son unos componentes que tengan el equivalente al Ttable. En cuanto a los que me recomiendas (IBDAC) son unos de los que había probado, y tal como ponía en el primer post:
Cita:

Empezado por tdi_daniel (Mensaje 424204)
He probado con DBX, ZeosLib, AnyDAC y IBDAC, y me funcionan bien (excepto el IBDAC con el que no me compilan ni un proyecto de ejemplo), pero no incluyen ni findkey ni setrange

Sigo la búsqueda de una solución.
Un saludo.

newtron 07-02-2012 11:26:27

Ops.... llevas razón, no me había percatado de que ya habías probado ese componente.

Pues mal asunto porque si no encuentras un componente adecuado o cambias el código o cambias la base de datos. Yo en su día tuve exactamente el mismo problema que comentas y opté por usar una base de datos que se llama Elevatedb que cumple con lo que necesitas, lo que pasa es que tiene dos peros, es de pago también y por otro lado no es firebird. Por otro lado te puedo comentar que después de algunos años con algunos problemas, ya es un producto maduro y va bastante bien, con características bastante interesantes como poder usarlo en modo escritorio o cliente/servidor sin modificar la instalación, es bastante rápida, etc. y por otro lado tienen un servicio técnico bastante bueno (en un perfecto inglés, claro).

Saludos

tdi_daniel 07-02-2012 11:33:59

Cita:

Empezado por newtron (Mensaje 424389)
Ops.... llevas razón, no me había percatado de que ya habías probado ese componente.

Pues mal asunto porque si no encuentras un componente adecuado o cambias el código o cambias la base de datos. Yo en su día tuve exactamente el mismo problema que comentas y opté por usar una base de datos que se llama Elevatedb que cumple con lo que necesitas, lo que pasa es que tiene dos peros, es de pago también y por otro lado no es firebird. Por otro lado te puedo comentar que después de algunos años con algunos problemas, ya es un producto maduro y va bastante bien, con características bastante interesantes como poder usarlo en modo escritorio o cliente/servidor sin modificar la instalación, es bastante rápida, etc. y por otro lado tienen un servicio técnico bastante bueno (en un perfecto inglés, claro).

Saludos

Muchas gracias por la información, lo tendré muy en cuenta (voy a buscar información con respecto a esa BBDD, y el funcionamiento de sus licencias).
Un saludo.

newtron 07-02-2012 12:22:28

No hay de qué hombre. Ya te adelanto yo algo.

Comprando la base de datos lo que realmente compras son los componentes y el servidor de la base de datos por si la quieres usar en modo cliente/servidor. No hay royalties por las instalaciones en los clientes, lo único es que si quieres que te vayan mandando las actualizaciones si tendrás que pagar una cuota de mantenimiento anual pero no es mucho dinero dependiendo de los componentes que compres porque los puedes comprar con o sin código fuente. Yo en su día los compré con el código fuente pero es tontería porque es bastante más caro y al final no los usas porque no creo que te vayas a meter en modificar el código.

Cualquier duda que tengas me preguntas que con esto llevo yo varios años y sé un poco por donde van los tiros.

Saludos

Casimiro Notevi 07-02-2012 12:48:48

Cita:

Empezado por tdi_daniel (Mensaje 424383)
Exacto, lo que necesito son unos componentes que tengan el equivalente al Ttable.

¿Y no te sirve el TIBtable de las IBX que trae delphi?

mightydragonlor 07-02-2012 15:23:23

o el TZTable de los componentes ZeosDB?

Casimiro Notevi 07-02-2012 17:12:37

Cita:

Empezado por Casimiro Notevi (Mensaje 424399)
¿Y no te sirve el TIBtable de las IBX que trae delphi?

Cita:

Empezado por mightydragonlor (Mensaje 424409)
o el TZTable de los componentes ZeosDB?

Mismamente :)

tdi_daniel 07-02-2012 17:54:52

Cita:

Empezado por newtron (Mensaje 424397)
No hay de qué hombre. Ya te adelanto yo algo.

Comprando la base de datos lo que realmente compras son los componentes y el servidor de la base de datos por si la quieres usar en modo cliente/servidor. No hay royalties por las instalaciones en los clientes, lo único es que si quieres que te vayan mandando las actualizaciones si tendrás que pagar una cuota de mantenimiento anual pero no es mucho dinero dependiendo de los componentes que compres porque los puedes comprar con o sin código fuente. Yo en su día los compré con el código fuente pero es tontería porque es bastante más caro y al final no los usas porque no creo que te vayas a meter en modificar el código.

Cualquier duda que tengas me preguntas que con esto llevo yo varios años y sé un poco por donde van los tiros.

Saludos

Eso es exactamente lo que busco, que no cobren por las instalaciones en los clientes, de momento voy a seguir mirando si consigo lo que quiero para FireBird (ya que sigo teniendo en mente el trasladar todo a ésta base de datos), sino lo consiguiera le hecharé un vistazo :)
Cita:

Empezado por Casimiro Notevi (Mensaje 424399)
¿Y no te sirve el TIBtable de las IBX que trae delphi?

Cita:

Empezado por mightydragonlor (Mensaje 424409)
o el TZTable de los componentes ZeosDB?

Cita:

Empezado por Casimiro Notevi (Mensaje 424411)
Mismamente :)

Tanto los TIBtable de IBX como los TZTable de ZeosLib los he probado (abrí el post porque ya estaba desesperado buscando componentes) y ninguno de los dos tienen ni los SetRange ni los FindKey (comprobado por mí ahora mismo de nuevo por si estaba equivocado).

Muchas gracias de todas maneras a todos.

guillotmarc 07-02-2012 18:39:00

Hola.

Nunca he utilizado esos métodos (Findkey o SetRange), pero ambos están presentes en el ClientDataset, con lo que, ¿ no puedes conectar tu consulta a un ClientDataset, utilizando cualquier componente de acceso de los que ya has citado ?.

Puedes trabajar con el ClientDataset exactamente igual que con cualquier componente de datos (Edit, Post, ...), solo que al final tendrás que hacer una llamada al método ApplyUpdates.

Saludos.

newtron 07-02-2012 18:52:49

Cita:

Empezado por tdi_daniel (Mensaje 424413)
Eso es exactamente lo que busco, que no cobren por las instalaciones en los clientes, de momento voy a seguir mirando si consigo lo que quiero para FireBird (ya que sigo teniendo en mente el trasladar todo a ésta base de datos), sino lo consiguiera le hecharé un vistazo :)

Si encuentras algo interesante lo comentas, también me gustaría saber si existe algún componente para firebird que cumpla esos requisitos.

guillotmarc 07-02-2012 20:57:43

¿ Que problema tienes con utilizar un ClientDataset (conectado a cualquiera de los muchos componentes de acceso a Firebird) ?, solo tienes que añadir un ApplyUpdates cuando hayas terminado, el resto se utiliza como cualquier TTable.

Incluso puedes utilizar un ClientDataset integrado, como el IBClientDataset que te recomendaron anteriormente.


La franja horaria es GMT +2. Ahora son las 01:04:30.

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