Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   conexion de una BD access a delphi 7 mediante componentes ADO (https://www.clubdelphi.com/foros/showthread.php?t=75771)

luisraad 18-09-2011 23:18:28

conexion de una BD access a delphi 7 mediante componentes ADO
 
Buenas tardes amigos como van?

bueno abro este nuevo tema puesto que vi algo que me llamo mucho la atención.
conectar una BD de access a delphi 2007 mediante componentes ADO que son:

ADOquery
ADOconection
ADOtable
DATAsource

deseo saber y creo que a mas de uno le va a gustar conectar la BD mdeiante codigo de esta manera

ejemplo:

Código Delphi [-]
procedure Tprincipal.FormCreate(Sender: TObject);
Var BaseDeDatos, ConStr : String;
begin
 fecha:= Now;
   // buscara la BD en el mismo directorio que el EXE, no importa donde este.
   // Obtiene la ruta y el nombre de la base de datos
   BaseDeDatos := ExtractFilePath(Application.ExeName)+'Database2.MDB';
   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
             'Data Source='+BaseDeDatos+';'+
             'Persist Security Info=False;'+
             'Jet OLEDB:Database Password=admin';
   ADOConnection1.ConnectionString := ConStr;
   ADOConnection1.Open;
end;

si pudieran explicarlo de manera mas precisa y aprender este metodo que por lo menos yo no lo se, podemos citar ejemplos y aprender este metodo.
un saludo a todos

Caral 19-09-2011 00:09:19

Hola

// se crean dos variables de tipo string.
// estas contendran:
// 1- La direccion de la base de datos.
// 2- La conexion a access.
// los nombres pueden ser los que se quiera, no es importante
Código Delphi [-]
Var BaseDeDatos, ConStr : String;

// buscara la BD en el mismo directorio que el EXE, no importa donde este.
// Obtiene la ruta y el nombre de la base de datos
// ExtractFilePath = Extrae o consigue la direccion donde:
// Application.ExeName = Este el exe del programa, osea, sea igual al nombre de programa
// Database2.MDB en este caso es el nombre de la Base de Datos
Código Delphi [-]
   BaseDeDatos := ExtractFilePath(Application.ExeName)+'Database2.MDB';


// si la variable Basededatos no se localizo entonces muestra un mensaje.
Código Delphi [-]
 
   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');


// ConStr es la variable que contiene los datos que se necesitan para conectarse con la Base de datos.
// son los mismos que se obtienen al conectarse con un AdoConnection.
// como parte de la conexión se concatena la dirección que esta incluida en la variable BasedeDatos.
Código Delphi [-]
   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
   'Data Source='+BaseDeDatos+';'+
   'Persist Security Info=False;'+
   'Jet OLEDBatabase Password=admin';



// se le proporciona al componente adoconnection el contenido de la variable Constr.
// se abre la BD.
Código Delphi [-]
   ADOConnection1.ConnectionString := ConStr;
   ADOConnection1.Open;

Listo.;)
Saludos

Caral 19-09-2011 00:31:15

Hola
Hay que tomar en cuenta que este código lo que hace es buscar la base de datos en el mismo directorio donde este el ejecutable del programa, osea, el programa ya compilado, el EXE.
Osea, La base de datos TIENE QUE ESTAR en el mismo directorio que el programa (exe).
Si se quiere poner el programa en un directorio y la base de datos en otro entonces se tendrá que hacer con un archivo INI.
Esto (el archivo INI) también es útil cuando se quiere que la base de datos este en un ordenador y se quiera conectar en red.
Saludos

luisraad 19-09-2011 03:03:54

gracias caral ;)
osea que yo facilmente puedo tomar toda esa cadena de codigo estudiarla y usarla para posteriores conecxiones????, solo bastará con cambiar el nombre de la BD???... esta bién..

osea que al hacer todas las conecxiones por el codigo no tengo que dirigirme a los componetes ((los botnes)) que pone uno en la forma ?? y manipularlos en el inspector de objetos?

por cierto

buen aporte compañero :D

yaque estamos en estos temas necesito alcarar unas dudas con las consultas de SQL en los ADOQUERY... no se si deba hacerlas aqui siguiendo la cronologia del tema o toca abrir un nuevo hilo :mad:??? si no seguimos con este maravilloso tema

saludos

Caral 19-09-2011 03:09:47

Hola
Si es otro tema, es otro hilo, ya sabes la política del foro.

Si la consulta es de Sql y AdoQuery creo que merece su hilo nuevecito, no te olvides de ponerle en la entrada una buena alfombra para limpiarse los pies y si puedes poner una buena nevera con una cervezas (para los amigos) sera mucho mejor.:D;)
Saludos

luisraad 19-09-2011 03:54:39

bueno mi amigazoo por hoy aca en colombia ya es tarde mañana me toca que madrugar para ir a mis clases de programacion pero no te preocups yo abro el nuevo hilo con unos temas qe son de vital importancia para este tema de las consultas en SQL

un abrazo y gracias por toda la ayuda suministrada:D:D:D;)

PD: lo de las cerve3zitas ((mañana)) jejeje feliz noche!!


La franja horaria es GMT +2. Ahora son las 05:47:56.

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