Conexión a base de datos mediante un archivo ini

Estoy desarrollando una aplicación en delphi 7 y necesito saber como conectarme a una base de datos echa en sql desde delphi mediante lectura de datos de archivos ini utilizando para ello un databasename.
Respuesta
1
Deberías crearte las 3 variables o como property (PW, user y BBDDName) de tipo string en la parte pública del form.
public
BBDDName : String;
password, usuario : String;
En el create del form, deberías rellenar estas variables con los valores del INI, tal y como te expuse en la primera respuesta y luego mostrar el cuadro de diálogo de conexión.
procedure form1.create(sender : tobject);
var
MyIniFile : TIniFile;
begin
MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0))+'MYFILE.INI');
Try
BBDDName := MyIniFile.ReadString('BBDD','Name');
Usuario := MyIniFile.ReadString('BBDD','Usuario');
Password := MyIniFile.ReadString('BBDD','Password');
Finally
MyIniFile.Free;
end;
Luego, en el evento conectar podrías comparar estas variables con el valor de los edits y conectar, tal y como te explico en la segunda respuesta.
procedure conectar.Onclick(sender : TObject);
begin
//comparamos valores de variables con los edits
if valoresok(Edit1.text, Edit2.text) then
begin
Database1.Connected := false;
Database1.DatabaseName := BBDDName;
//Para que no aparezca el dialogo de conexion.
Database1.LoginPrompt := false;
Database1.Params.Add('USER NAME=' + Edit1.text);
Database1.Params.Add('PASSWORD=' + Edit2.text);
Database1.Connected := true;
end else Showmessage('Vuelva a intentarlo');
end;
Hola: me queda una duda como leo los datos de la conexión de un archivo ini del segundo código que me mandaste
procedure conectar.Onclick(sender : TObject);
begin
Database1.Connected := false;
Database1.DatabaseName := BBDDName;
//Para que no aparezca el dialogo de conexion.
Database1.LoginPrompt := false;
Database1.Params.Add('USER NAME=' + Edit1.text);
Database1.Params.Add('PASSWORD=' + Edit2.text);
Database1.Connected := true;
end;
--Archivo INI--
[BBDD]
Name=DB_DATOS
Usuario=guess
Password=2334er
---------------
uses inifiles;
Procedure CargarBDParams;
var
MyIniFile : TIniFile;
BBDDName : String;
Usuario : String;
Password : String;
begin
MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0))+'MYFILE.INI');
Try
BBDDName := MyIniFile.ReadString('BBDD','Name');
Usuario := MyIniFile.ReadString('BBDD','Usuario');
Password := MyIniFile.ReadString('BBDD','Password');
Finally
MyIniFile.Free;
End;
Database1.DatabaseName := BBDDName;
//Para que no aparezca el dialogo de conexion.
Database1.LoginPrompt := false;
Database1.Params.Add('USER NAME=' + Usuario);
Database1.Params.Add('PASSWORD=' + Password);
end;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas