dbexpress sqlconection.conected setado em true na compilação
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]
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
Curtidas 0
Respostas
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;
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
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
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+
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