GARANTIR DESCONTO

Fórum mensagens personalizadas do firebird #275946

06/04/2005

0

Como posso persolnalisar as mensagens de retorno do fire bird

atualmente uso assim

begin
try
TransDesc.TransactionID:=1;
TransDesc.IsolationLevel:=xilREPEATABLEREAD;
DataModule1.SQLConn.StartTransaction(TransDesc);

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´select * from VALIDA_USUARIO(:PAR_NOME_USUARIO, :PAR_SENHA_USUARIO, :PAR_EMPRESA)´);
query1.ParamByName(´PAR_NOME_USUARIO´).AsString := Edit1.Text;
Query1.ParamByName(´PAR_SENHA_USUARIO´).AsString := Edit2.Text;
Query1.ParamByName(´PAR_EMPRESA´).AsInteger := StrToInt(Edit4.Text);
Query1.Open;

DataModule1.SQLConn.Commit(TransDesc);



except
on Exc:Exception do
begin
ShowMessage(´Falha no login: ´+exc.Message);
DataModule1.SQLConn.Rollback(TransDesc);
end;
end;
end;

a resposta quando ocorre o erro é a seguinte:

Falha no login: SQL Server Error: exception1 Usuario ou senha invalido!!!
At procedure ´VALIDA_USUARIO´

a dúvida é como posso fazer para que na resposta contenha somente Falha no login: Usuario ou senha invalido!!!


Uiliangurjon

Uiliangurjon

Responder

Posts

06/04/2005

Faelcavalcanti

Cara, eu já usei coisa parecida e foi até interessante que peguei parte do projeto DataCar da revista clubedelphi, em que criava-se várias exceptions generalizando erros justificados como, integridade/referencial, dependências, etc. No meu caso criava as exceptions genéricas e daí as personalizava-as em um evento OnError ou coisa parecida no ClientDataSet e lá verificava, qual a string que gerou o erro e modificava a mensagem que seria passada ao usuário.

Espero ter ajudado!!!


Responder

Gostei + 0

07/04/2005

Uiliangurjon

Ola amigo!!!

eu somente uso o componente sqlquery tem como fazer com ele????


Responder

Gostei + 0

07/04/2005

Faelcavalcanti

Ola amigo!!! eu somente uso o componente sqlquery tem como fazer com ele????


Cara com o SQLQuery, não dá não, porque ele não é bidirecional e possui poucos eventos, é melhor você associar a um ClientDataSet, através de um DataSetProvider, a não ser que implique com a sua aplicação.


Responder

Gostei + 0

08/04/2005

Uiliangurjon

toda a minha aplicação foi desenvolvida no ambiente unidirecional pelo motivo de velocidade, pois a aplicação tem um bd remoto!!!


Responder

Gostei + 0

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

Aceitar