Fórum problemas com função para delphi #412468

06/02/2012

0

esta funçaõ esta me dando dor de cabeça, retirei a da revista n 84 do clube delphi, o sistema proposto era para atuaizar o banco de dados automaticamente, mas não funcionou graças a esta funçaõ

function TPatches.ConectarAoBanco: Boolean;
begin
try
if not Assigned(FConexao) then
begin
FConexao := TSqlConnection.Create(Application);
with FConexao do
begin
ConnectionName := INTERBASE;
DriverName := Interbase;
GetDriverFunc := getSQLDriverINTERBASE;
LibraryName := dbexpint.dll;
LoginPrompt := False;
Params.Clear;
Params.Add(DriverName=Interbase);
Params.Add(Database=127.0.0.1/3050:C:\Developer Delphi\Databases\Patches.fdb);
Params.Add(RoleName=RoleName);
Params.Add(User_Name=SYSDBA);
Params.Add(Password=masterkey);
Params.Add(ServerCharSet=);
Params.Add(SQLDialect=1);
Params.Add(BlobSize=-1);
Params.Add(CommitRetain=False);
Params.Add(WaitOnLocks=True);
Params.Add(ErrorResourceFile=);
Params.Add(LocaleCode=0000);
Params.Add(Interbase TransIsolation=ReadCommited);
Params.Add(Trim Char=False);
VendorLib := gds32.dll;
end;
end;
FConexao.Connected := True; ocorre o erro aqui nesta linha, ate aqui vai bem
Result := True;
except on E: Exception do
begin
MessageDlg(Ocorreu um erro ao conectar-se ao banco. + #13 +
E.Message, mtError, [mbOk], 0);
Result := False;
end;
end;
end;

consegui resolver mas não ficou d geito da revista, para resolver coloquei um componente sqlconnection no form, e na revista eles criam em modo de execução, atravez da função acina, ajudem-me a resolver o problema na função
Edson Melo

Edson Melo

Responder

Posts

06/02/2012

Edson Melo

continuação

para resolver coloquei um componente sqlconnection no form e funcionou corretamente, mas gostaria de deixar como proposta na revista, estou utilizando o delphi 2010, ja acrescentei algumas funcoes a mais no projeto, mas nada que interfira na função citada,

as mudanças feitas funcionara, mas ajudem-me a deixar como proposto na revista

muito obrigado

obs : caso conheçam um outra fonte que realize o mesmo serviço me informem
Responder

Gostei + 0

06/02/2012

Marco Salles

consegui resolver mas não ficou d geito da revista, para resolver coloquei um componente sqlconnection no form, e na revista eles criam em modo de execução, atravez da função acina, ajudem-me a resolver o problema na função

quer resolver passo a passo ???

O problema é este ... Muitos tem dúvidas ou não configuram corretamente o
parâmetro na conexão DataBase Arquivo Ini DbExpress ...

http://marcosalles.wordpress.com/2011/02/10/configurar-os-parametro-na-conexao-database-arquivo-ini-dbexpress/

sem merchan , se voce ler voce resolve..

Responder

Gostei + 0

08/02/2012

Edson Melo

mas o original não usa arquivo ini, e tambem esqueci de dizer que vou usar firebird

me ajuda por favor
Responder

Gostei + 0

08/02/2012

Marco Salles

bem edson , teste esta rotina aqui
Transforme depois para function

procedure TForm1.Button1Click(Sender: TObject);
var
FConexao :TSqlConnection;
begin
try
if Assigned(FConexao) then
FConexao := TSqlConnection.Create(Application);
with FConexao do
begin
ConnectionName := Minha_Conexao;
DriverName := FIREBIRD;
GetDriverFunc := getSQLDriverINTERBASE;
LibraryName := dbxfb.dll;
LoginPrompt := False;
Params.Clear;
Params.Add(drivername=FIREBIRD);
Params.Add(Database=127.0.0.1/FDS21_DB:C:\Program Files\Firebird\Firebird_2_1\examples\empbuild\Employee.fdb);
Params.Add(RoleName=RoleName);
Params.Add(User_Name=SYSDBA);
Params.Add(Password=masterkey);
Params.Add(isolationlevel=ReadCommitted);
Params.Add(SQLDialect=3);
Params.Add(CommitRetain=False);
Params.Add(WaitOnLocks=True);
Params.Add(waitonlocks=True);
Params.Add(LocaleCode=0000);
Params.Add(Trim Char=False);
VendorLib := fbclient.DLL;
end;

FConexao.Connected := True;
//Result := True;
showmessage(ok)
except on E: Exception do
begin
MessageDlg(Ocorreu um erro ao conectar-se ao banco. + #13 +
E.Message, mtError, [mbOk], 0);
//Result := False;
end;
end;
end;


Aqui conectei sem problemas
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar