Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Ayuda con lectura de datos en Paradox (https://www.clubdelphi.com/foros/showthread.php?t=82423)

apicito 06-03-2013 08:21:31

Ayuda con lectura de datos en Paradox
 
Tengo una "Base de Datos" formada por ficheros independientes, donde cada tabla tiene un fichero nombre.DB y unos cuantos nombre.MB, nombre.PX, nombre.X3E, nombre.Y3E......
Creo que se trata de tablas paradox, aunque no estoy seguro, ya que consigo abrir cada tabla con TTable.
Precisaba utilizar componentes que me permitan ejecutar SQL sobre estas tablas ¿Cuales puedo utilizar?
¿Como puedo enviarle el Password de la tabla sin que me lo pida cada vez que la abro? Por su puesto, sin quitarle la clave.
Gracias de antemano por la ayuda.

Neftali [Germán.Estévez] 06-03-2013 10:22:40

Justo al lado del componente TTable que has utilizado hay un TQuery que te permitirá ejecutar sentencias SQL.
Para el tema de la contraseña, revisa una propiedad llamada LoginPrompt.

apicito 06-03-2013 13:05:14

Gracias por responder.
En el componente TQuery de la carpeta BDE no aparece ninguna propiedad LoginPrompt. Además no se como decirle la ruta hacia el fichero , en el componente TTable tiene una propiedad "TableName" donde le meto "C:\Datos\Personas.DB", pero en el TQuery lo más parecido es "DataBaseName" en donde aparecen las opciones: "dBASE Files", "DBDEMOS", "Excel Files" y "MS Access DataBase".
Osea que no sé como utilizarlo.
Un saludo.

ecfisa 06-03-2013 15:39:06

Hola apicito.

Tendrías que crear un nuevo alias, hay varias formas de hacerlo:Con el Database Desktop, desde el Panel de control con el BDE Administrator, mediante el SQL explorer y por código.

En tiempo de ejecución sólo debes ejecutarlo una vez y ya queda agregado el nuevo alias:
Código Delphi [-]
Session.AddStandardAlias('NuevoAlias',        // Nombre del alias
                         'C:\Datos\Personas', // Carpeta de datos
                         'PARADOX') ;         // Paradox
Una vez añadido, sólo debes seleccionar el nuevo alias en la propiedad Database Name del TQuery.

Saludos.

roman 06-03-2013 18:02:02

La propiedad LoginPrompt aparece en el componente TDatabase, de manera que sólo podrás usarla si conectas tus tablas/queries através de uno de esos componentes. Cuanto un TTable o un TQuery se conectan directamente a la base, se crea un TDatabase "oculto" de manera automática.

Por otra parte, hasta donde recuerdo, no es esto lo que necesitas. En el caso de Paradox no hay una contraseña para la base en su conjunto sino para cada tabla. Lo que necesitas es usar:

Código Delphi [-]
Session.AddPassword('un_password');

Session es una variable global que se establece automáticamente cuando usas el BDE (está en la unidad DBTables). Tendrías que hacer esto antes de abrir la tabla.

Es importante notar que el uso de contraseñas en tablas paradox es fútil pues es ampliamente sabido que existen contraseñas universales que abren cualquier tabla paradox (basta buscar en Google "paradox contraseña universal").

// Saludos

apicito 07-03-2013 09:12:22

Gracias por la ayuda.
Un saludo.


La franja horaria es GMT +2. Ahora son las 10:24:12.

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