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)
-   -   Dudas BDE, dbExpress, ... (https://www.clubdelphi.com/foros/showthread.php?t=72968)

rjblasco 23-03-2011 11:03:21

Dudas BDE, dbExpress, ...
 
Hola a todos,

Hace unos años que dejé de programar por haber cambiado de empleo... Ahora quiero volver a retomar la programación para hacer un programa de gestión, pero tengo dudas sobre qué tipo de conexiones utilizar. Cuando programaba utilizaba BDE, pero sé que iban a darlo por obsoleto. Ahora voy a programar con "Embarcadero Delphi XE" (version 15.0.3890.34076) y veo que sigue estando el BDE, no se si será por compatibilidades o por qué motivo.

¿Alguien puede orientarme sobre qué tipo de conexión se suele estar utilizando? Cuando abandoné la empresa donde estaba, lo último que empezábamos a utilizar, eran los ClientDataSet y los DataSetProvider, para hacer aplicaciones de 3 capas, pero la verdad que no lo recuerdo muy bien.

He intentado hacer unas pruebas con dbExpress y he visto que en un DBGrid no puedo hacer referencia a un TSQLTable, pasando por supuesto por un componente TDataSource. No puedo ya que es unidireccional, y lo que pretendía era insertar registros en ese grid.

Otra cosa, ¿si yo quiero modificar un registro con dbExpress que "cargar" los datos y luego hacer un UPDATE? ¿y si alguien lo ha modificado mientras yo lo estoy editando?

Imagino que todo esto estará ya explicado en algún otro post, si alguien tiene conocimiento de dónde pueda estar, le agradecería me indicase el link.

Ahh, se me olvidaba.... pretendo utilizar bases de datos PostgreSQL

Un saludo a todos, y gracias!

Neftali [Germán.Estévez] 23-03-2011 12:21:44

Cita:

Empezado por rjblasco (Mensaje 394332)
Hola a todos

Hola y bienvenido a los foros

Cita:

Empezado por rjblasco (Mensaje 394332)
Hace unos años que dejé de programar por haber cambiado de empleo... Ahora quiero volver a retomar la programación para hacer un programa de gestión, pero tengo dudas sobre qué tipo de conexiones utilizar. Cuando programaba utilizaba BDE, pero sé que iban a darlo por obsoleto. Ahora voy a programar con "Embarcadero Delphi XE" (version 15.0.3890.34076) y veo que sigue estando el BDE, no se si será por compatibilidades o por qué motivo.
¿Alguien puede orientarme sobre qué tipo de conexión se suele estar utilizando? Cuando abandoné la empresa donde estaba, lo último que empezábamos a utilizar, eran los ClientDataSet y los DataSetProvider, para hacer aplicaciones de 3 capas, pero la verdad que no lo recuerdo muy bien.

No vas mal encaminado, yo no optaría por el BDE.
Si vas a conectar a PostgreSQl puedes utilizar dbExpress o algunos componentes tipo ZeosLib (http://zeos.firmos.at/portal.php).

Cita:

Empezado por rjblasco (Mensaje 394332)
He intentado hacer unas pruebas con dbExpress y he visto que en un DBGrid no puedo hacer referencia a un TSQLTable, pasando por supuesto por un componente TDataSource. No puedo ya que es unidireccional, y lo que pretendía era insertar registros en ese grid.

Creo que no debería ser así. A veces se pueden configurar el tipo de cursor a utilizar; Tal vez sea una configuración de estas.
Que yo sepa eso sigue funcionando como siempre.

Cita:

Empezado por rjblasco (Mensaje 394332)
Otra cosa, ¿si yo quiero modificar un registro con dbExpress que "cargar" los datos y luego hacer un UPDATE?
¿y si alguien lo ha modificado mientras yo lo estoy editando?

Bueno, aquí entramos en la discusión de siempre. Cómo gestionar los bloqueos y si hay que gestionarlos. Hemos hablado otras veces en los foros sobre esto (bloqueos), así que si buscas por este tema encontrarás unos cuantos hilos con bastante información. De todas formas, en esto tal vez si tengas que cambiar la mentalidad respecto a la programación con BDE (local).


Un saludo.

Delfino 23-03-2011 12:24:31

Googleando he encontrado este link donde puedes empezar con los DBExpress que para mi opinion son las mejor opcion. Se usan los ClientDataset y los DatasetProvider junto con los SQLDataset incluso para aplicaciones de dos capas.

El BDE solo se mantiene por backward compatibility.

rjblasco 23-03-2011 13:40:59

Muchas gracias por la información... ¡¡y muchas gracias por la rapidez!!

Voy a echarle una ojeada al link y a las propiedades del TSQLTable, a ver lo de la unidireccionalidad.

Un saludo!!

rjblasco 27-03-2011 11:08:37

Al final olvidé responder para comunicar el resultado de las pruebas que hice:

Pasando el TSQLTable a traves de un TDataSetProvider y TClientDataSet (y luego por el correspondiente TDataSource) la tabla puede utilizarse en un grid sin problema alguno.

Un saludo y gracias por la ayuda


La franja horaria es GMT +2. Ahora son las 01:07:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi