Fórum Problema com E.Message do E:Exception #458249
11/10/2013
0
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
Curtir tópico
+ 0Posts
11/10/2013
Ricardo Rodrigues
Gostei + 0
11/10/2013
Alessandro Yamasaki
Consegui resolver meu problema com um TIBTransaction, desativando e ativando ele novamente.
Vlw
Abs
Gostei + 0
11/10/2013
Diego Garcia
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
11/10/2013
José
fiquem a vontade para abrir novos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)