dbexpress sqlconection.conected setado em true na compilação

Delphi

11/02/2005

Eu uso dbexpress para acessar o firibird e no evento do componente
sqlconection beforeconect eu leio um arquivo ini com os parametros da conexão o localização do banco. até ai tudo bem o problema é que na compilação as vezes esqueço de observar a propriedade do componente

sqlconection.conected e ela pode ficar em true.

quando isso acontece o executável que vai pro cliente ficando em true na compilação faz com que se o os dados do arquivo ini que direciona para o banco estiverem errados vai dar um excexao fatal pois nao consigo colocar a conexao dentro de um try pois ela já executa o before conected de cara pois a propriedade estava em true.

quando esta em false dentro do programa quando vou conectar em coloco dentro de um try

try
sqlconection.conected := true;
except
chamo uma tela de localização do banco;
e repito a tentativa com a nova localização;
end;

mas se foi compilado com true na propriedade nao há como proteger com try

alguem tem uma soluçao seja para cancelar a conexao ou setar a prorpiedade para false antes que ela execute a conexao?[/b]


Ahn

Ahn

Curtidas 0

Respostas

Cabelo

Cabelo

11/02/2005

Essa é bem simples..

antes de ler o arquivo ou qualquer outra coisa..
vc deve ter um evento do form ou do data module que está este componente..

use neste evento assim :

Try
sqlconnection.conected := false
except
messagedel(´Não é possível deconectar o banco. Contate o administrador do sistema!´, mterror, [mbOk], 0);
end;


GOSTEI 0
Ahn

Ahn

11/02/2005

Essa é bem simples.. antes de ler o arquivo ou qualquer outra coisa.. vc deve ter um evento do form ou do data module que está este componente.. use neste evento assim : Try sqlconnection.conected := false except messagedel(´Não é possível deconectar o banco. Contate o administrador do sistema!´, mterror, [mbOk], 0); end;


Não é tão simples assim pois qualquer evento do datamodule como por exemplo o oncreate é executado depois do beforeconect do sqconection


GOSTEI 0
Vinicius2k

Vinicius2k

11/02/2005

Colega,

Infelizmente, só existe uma solução para o seu caso : Não esqueça o componente conectado na compilação.
Falta-lhe (no TSQLConnection) uma propriedade útil como a ´AllowStreamedConnect´ do IBDatabase (IBX), que faz com que mesmo que vc o esqueça conectado, quando ele for criado, vai aguardar que vc o oriente a se conectar.

T+


GOSTEI 0
POSTAR