06/12/2005

Em qual evento do ADOconnection eu posso...

Aí pessoal,
Gostaria de mostrar uma msg de erro de conexão caso não consiga ser feita a conexão ao banco de dados. Já tentei no evento OnInfoMessage e no OnConnectComplete, mas ele sempre dá a mensagem padrão do driver do SQL Server.
Desde já obrigado pela ajuda.

Leomar


Lero

Respostas

06/12/2005

Okama

uses ComObj;

...
bla bla bla
....



try
ADOConnection1.Open;
except on EOleException do
ShowMessage(´Erro´);
end;


Responder Citar

06/12/2005

Lero

Valew pela ajuda, Okama. Mas eu eskeci de dizer um detalhe, desculpe.
É q eu tô trabalhando com ClientDataset e deixo a propriedade KeepConnection do ADOConnection setada pra False. Enquanto um usuário está utilizando o sistema ele pode conectar e se desconectar várias vezes do banco. Preciso usar essa solução por causa da limitação de licenças de usuário para o SQL Server. Por isso pra mim fazer o try..except no dataset fica complicado pq teria q fazer em praticamente todos do projeto já q o ClientDataSet abre e fecha a conexão automáticamente.
O q eu quero é fazer um tratamento dentro do próprio ADOConnection. Não sei se isso é possível, mas eu realmente gostaria que fosse. Pq eu já tentei de todas as maneiras. Bem q podia ter um evento ´OnConnectionError´ :lol:
Valew pela ajuda.


Responder Citar

06/12/2005

Okama

Verifica esse código no evento OnConnectComplete, ele exibe o erro, mas não consegui interromper o ´open´ nem remover a mensagem.


procedure TForm1.ADOConnection1ConnectComplete(Connection: TADOConnection;
  const Error: Error; var EventStatus: TEventStatus);
begin
if EventStatus = esOK then
   ShowMessage(´esOk´);

if EventStatus = esErrorsOccured then
   ShowMessage(´esErrorsOccured´);

if EventStatus = esCantDeny then
   ShowMessage(´esCantDeny´);

if EventStatus = esCancel then
   ShowMessage(´esCancel´);

if EventStatus = esUnwantedEvent then
   ShowMessage(´esUnwantedEvent´);
end;



Responder Citar