Fórum DM.Conexao.Params.LoadFromFile('.\conexao.ini'); #393229
31/12/2010
0
funciona assim:
criei um arquivo texto chamado conexao.ini
um formulário chama Configura conexão para digitarmos o endereço do banco e salvar no arquivo texto 'conexao.ini'...mais o problema é o seguinte:
toda vez que executo o meu aplicativo ele não está lendo o arquivo texto conexao.ini que já está com todas as informações salvas.. e abre o formulario de configuração de do banco o 'Configuraconexao' aparece tudo configurado o camininho e tudo dou ok ai entra.VEJA O CÓDIGO ABAIXO:
código para ler o arquivo de conexao 'conexao.ini' já com todas as informações gravadas
procedure TFPrincipal.FormShow(Sender: TObject);
begin
DM.Conexao.Connected:=False;
StrConexao:=DM.Conexao.Params.Text;
DM.Conexao.Params.Clear;
Try
DM.Conexao.Params.LoadFromFile('.\conexao.ini');
DM.Conexao.Connected:=True;
ConexaoFeita:=True;
Except
FConfiguraConexao.ShowModal;
end;
o arquivo de conexao 'conexao.ini' possui:
DriverName=Interbase
DataBase=C:\SGL\Banco\BDLOCADORA.FDB
RoleName=RoleName
User_Name=sysdba
Password=masterkey
ServerCharSet=
SQLDialect=3
BlobSize=-1
CommitRetain=False
WaitOnLocks=True
ErrorResourceFile=
LocaleCode=0000
Interbase TransIsolation=ReadCommited
Trim Char=False
o que estou fazendo de errado?
toda vez ele abre o FConfiguraConexao.ShowModal;
e tenho que confirmar o caminho do banco.
Benilton
Curtir tópico
+ 0Posts
01/01/2011
Leandro
adicione no uses (IniFiles)
function GetConectaBanco(ASqlConnection: TSQLConnection; ATypeDatabase: Integer = 0; ASenha: String = '';
AUsuario: String = ''): Boolean;
var
lMyIniFile: TIniFile;
begin
lMyIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'BIConfig.ini');
if AUsuario = '' then
begin
FMenu.LSUtils1.Criptografia.TextoEncrypt := lMyIniFile.ReadString('Connection', 'UserName', '');
AUsuario := FMenu.LSUtils1.Criptografia.Texto;
end;
if ASenha = '' then
begin
FMenu.LSUtils1.Criptografia.TextoEncrypt := lMyIniFile.ReadString('Connection', 'Password', '');
ASenha := FMenu.LSUtils1.Criptografia.Texto;
end;
if ATypeDatabase = 0 then
ATypeDatabase := StrToInt(lMyIniFile.ReadString('Connection', 'TpBancoDados', ''));
Result := False;
ALSConnection.SqlConnection := ASqlConnection;
case ATypeDatabase of
0:
begin
ALSConnection.TypeDataBase := tpPostgresSql;
ASqlConnection.ConnectionName := 'Devart PostgreSQL';
ASqlConnection.SQLHourGlass := True;
ASqlConnection.DriverName := 'DevartPostgreSQL';
ASqlConnection.GetDriverFunc := 'getSQLDriverPostgreSQL';
ASqlConnection.LibraryName := 'dbexppgsql.dll';
ASqlConnection.VendorLib := 'dbexppgsql.dll';
ASqlConnection.Params.Clear;
ASqlConnection.Params.Add('database=' + lMyIniFile.ReadString('Connection', 'Database', ''));
ASqlConnection.Params.Add('user_name=' + AUsuario);
ASqlConnection.Params.Add('password=' + ASenha);
end;
1:
begin
ALSConnection.TypeDataBase := tpFirebirdSql;
ASqlConnection.ConnectionName := 'FBCONNECTION';
ASqlConnection.SQLHourGlass := True;
ASqlConnection.DriverName := 'Firebird';
ASqlConnection.GetDriverFunc := 'getSQLDriverINTERBASE';
ASqlConnection.LibraryName := 'dbxfb.dll';
ASqlConnection.VendorLib := 'fbclient.dll';
ASqlConnection.Params.Clear;
ASqlConnection.Params.Add('database=' + lMyIniFile.ReadString('Connection', 'Database', ''));
ASqlConnection.Params.Add('user_name=' + AUsuario);
ASqlConnection.Params.Add('password=' + ASenha);
end;
end;
try
ASqlConnection.Open;
Result := True;
except
on E: EDatabaseError do
begin
Result := False;
Funcoes.MessageDlg('Não foi possível conectar ao banco de dados!' + #13 +
'O sistema será finalizado!' + #13 + #13 +'Mensagem Original:' + E.Message, mtError, [mbOk], 0);
end;
end;
FreeAndNil(lMyIniFile);
end;
Gostei + 0
03/01/2011
Ale.sjrp
var arq_ini:TIniFile;
banco:string;
begin
Conect.Connected := false;
arq_ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'sistema.ini');
banco := arq_ini.ReadString('Connect','Diretorio','');
Conect.DatabaseName := arq_ini.ReadString('Connect','Diretorio',ExtractFilePath(Application.ExeName)+'DATABASE_SISTEMA.FDB');
Conect.Connected := true;
if Conect.Connected = false then
begin
Showmessage('Não foi possivel conectar ao Banco de Dados!! Será encerrado a aplicação'+#13+
'Entre em contato com o Administrado do Software');
Application.Terminate;
end;
IBTran.Active := true;
end Vc precisa declarar IniFiles na uses do projeto.
Gostei + 0
03/01/2011
Ale.sjrp
Username=SYSDBA
Password=masterkey
HostName=localhost
CharSet=ISO8859_1
SQLDialect=1
Diretorio=D:\Sistemas_Delphi\Informatica\DATABASE_SISTEMA.FDB
Porta=3050
Gostei + 0
04/01/2011
Benilton
mais testei o seu e funciona perfeitamente.
obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)