Problema com E.Message do E:Exception
Bom Dia Pessoal
Estou com um problema e gostaria da ajuda dos colegas.
Tenho um 2 SQLs distintos, mas o primeiro SQL me dá o seguinte erro
- attempt to store duplicate value (visible to active transactions) in unique index "INDEX_FONES"
mensagem enviada atraves do e.message
Mas, meu problema q a partir deste erro, qualquer sql diferente deste, o e.message assume mesma mensagem do sql 1
Segue mais ou menos a estrutura do problema abaixo
try
for contador := 1 to 2 do
begin
case contador of
lsql:= 'ALTER INDEX INDEX_FONES ACTIVE';
lsql:= 'ALTER TABLE TABELAX ADD CONSTRAINT PK_TABELAX_CODIGO PRIMARY KEY (CODIGO)';
end;
end;
query.close;
query.sql.text := lsql;
query.Execsql;
except
on e:exception do
begin
ShowMessage(e.message);
// se contador for 1, o erro será 'attempt to store duplicate value (visible to active transactions) in unique index "INDEX_FONES" '
// se contador for 2, o erro será 'Index PK_TABELAX_CODIGO already exists'
// mas tanto, o sql 1 e 2 está aparecendo a mesma mensagem
end; // on e:exception do
end;
Alguem sabe o q estou errando ou alguma dica?
Abraços
Alessandro Yamasaki
Curtidas 0
Respostas
Ricardo Rodrigues
11/10/2013
tenta zerar essa variável antes de receber os sql, e também depois do close da query dá um sql.clear. Ae ja elima algumas hipóteses.
GOSTEI 0
Alessandro Yamasaki
11/10/2013
Ola Ricardo
Consegui resolver meu problema com um TIBTransaction, desativando e ativando ele novamente.
Vlw
Abs
Consegui resolver meu problema com um TIBTransaction, desativando e ativando ele novamente.
Vlw
Abs
GOSTEI 0
Diego Garcia
11/10/2013
amigo vc está sempre rodando a mesma query
faça um query.SQL.Clear, antes de atribuir o query.SQL.text
EDIT: Desculpe, acho que fiz um comentário errado.. acredito que quando se atribui o SQL.Text ele substitui o que estava antes, mas já vi que consegui resolver.
[]'s
faça um query.SQL.Clear, antes de atribuir o query.SQL.text
EDIT: Desculpe, acho que fiz um comentário errado.. acredito que quando se atribui o SQL.Text ele substitui o que estava antes, mas já vi que consegui resolver.
[]'s
GOSTEI 0
José
11/10/2013
Como a duvida inicial foi sanada, estou finalizando o tópico.
fiquem a vontade para abrir novos.
fiquem a vontade para abrir novos.
GOSTEI 0