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)
-   -   ¿cómo conectar una BD en interbase por medio de código? (https://www.clubdelphi.com/foros/showthread.php?t=26615)

pyanqn 28-10-2005 01:34:42

¿cómo conectar una BD en interbase por medio de código?
 
Hola, mi consulta es la siguiente: Necesito usar una base de datos *.gdb, pero no sé como realizar la conexión usando unicamente código delphi.
Donde puedo obtener más info sobre componentes informix?

Neftali [Germán.Estévez] 28-10-2005 10:12:45

¿Exactamente qué es lo que no te sale?
Crea los componentes de conexión (TIBDataBase) por código y asignames las propiedades igual que lo harías utilizando el insoector de objetos:

Código Delphi [-]
   // Crear el componente...
   IBDataBase := TIBDataBase.Create(nil);
 
   // Algo similar a ésto... para asignarle valores
   IBDataBase.LoginPrompt := False;
   IBDataBase.DatabaseName := DBName;  //pe:  \\192.168.80.5\...
   IBDataBase.Params.Add( 'USER_NAME=pablo');
   IBDataBase.Params.Add( 'PASSWORD=pablito');
   IBDataBase.SQLDialect := 3;
   IBDataBase.TraceFlags := [];
   IBDataBase.IdleTimer := 0;
   IBDataBase.Connected := True;

pyanqn 28-10-2005 13:19:36

Crear el componente?
 
Creo el componente, digamos DB:=TIBdatabase.create(nil), hace que no sea necesario que tire un componente IBDatabase en un data module?

¿Qué hace el parametro nil?

Neftali [Germán.Estévez] 28-10-2005 13:43:48

Cualquier componente de la paleta se puede crear por código, éste tambien. Si lo creas por código no hace falta que lo pongas en el DataModule, como tú dices, aunque si ya tienes un Datamodule es mejor utilizarlo.
El crearlos por código se deja para ocasiones especiales en las que no se puede hacer visualmente (pero en el fondo hacerlo de las dos formas es equivalente).

El parámetro nil (en éste caso) significa quien es el Owner del componente; Aquí está indicando quien es el "propietario" por decirlo así; Estamos diciendo que no le asignamos propietario y deberemos ser nosotros (el programador) quien se encargue de destruirlo. Para más información busca en la ayuda de Delphi TComponent.Owner

pyanqn 28-10-2005 14:10:34

Claro, y como se declara?
 
Si hago todo por código, antes debo declarar IBDataBase, que es del tipo TIBDataBase, esto, lo se hace Var IBDataBase:TIBDataBase, pero IBDataBase es un objeto, así que me parece que no puede ser así, se usa class?

Neftali [Germán.Estévez] 28-10-2005 14:48:28

Se usa Class cuando se va a crear una Clase, pero para definir una variables de tipo objeto se usa (como comentas) la definición estandard.
Simpemente que si la variable es de acceso global deberás definirla en un sitio donde tengas acceso siempre que necesites -y desde todos las units donde la necesites-.

Código Delphi [-]
 var
   IBDataBase:TIBDataBase;
   // como si definieras un TList, TStringList, TObject,...  es un objeto más.

Vuelvo a repetirte que si no es obligatorio es mejor que utilices DataModule.

pyanqn 28-10-2005 15:23:26

¿y qué pasa con los componentes que mostraran los datos?
 
Supongamos que tengo un componente DBLookupCombobox conectado a la base de datos que espesifique en IBDatabase.databaseName, ahora suponiendo también que tengo un IDdataSet y un DataSource conectados, es decir todo esta listo, pero, lo que me falta es poder mostrar los datos en el combo, hacer algo como un refresh, para que tome los datos del dataSource...

Como haría esto tambien por código?


La franja horaria es GMT +2. Ahora son las 11:48:59.

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