Fórum Verificar registros duplicados através de Try...Except #257815

10/11/2004

0

Saudações,
estou criando uma exceção numa rotina que pus no sistema:
try close; sql.clear; sql.add(´INSERT INTO ´+table+´ (MAT_ALUNO, ALUNO, RESPONSAVEL,´); sql.add(´DT_PGTO, VALOR, PARCELA, MES )´); sql.add(´select ´+cbini.text+´.MAT_ALUNO,´+cbini.text+´.ALUNO,´+cbini.text+´.RESPONSAVEL´); sql.add(´,´+cbini.text+´.DT_PGTO,´+cbini.text+´.VALOR,´+cbini.text+´.PARCELA,´+cbini.text+´.MES´); sql.add(´from ´+cbini.text+´ inner join ´+cbfim.text+´ on ´+cbini.text+´.aluno=´+cbfim.text+´.aluno´); prepare; ExecSQL; except on EmySQLDatabaseError do begin MessageDlg(´Registro Duplicado!´,MtInformation,[Mbok],0); frmprinc.database.Commit; end


A exceção está funcionando só que neste caso, o erro que aparecia era de um registro duplicado. Como faço para que o meu MessageDlg mostre a qtde de registros duplicados?
Tipo:MessageDlg(´Registros Duplicados: tal´,MtInformation,[Mbok],0);

Muito obrigado.


Elias Jr

Elias Jr

Responder

Posts

10/11/2004

Osocram

Q BD vc usa?

Vc non usa chave primaria p evitar duplicacao?

Qto a sua resposta non sei... mas se o prob for duplicacao se vc usar chave primaria isso jah sera evitado retornando ´Key violation´


Responder

Gostei + 0

10/11/2004

Elias Jr

Olá amigo,
eu utilizo o MySql e esta rotina sem o Try..Except retorna um EmySQLDatabaseError de ´tantos registros duplicados na chave 1´ (que é a mat_aluno). Então eu coloquei o Try..Except mas gostaria de manter na minha mensagem a quantidade de registros que o erro me retornaria. Gostaria de sabe se existe como fazer isso. Muito obrigado.


Responder

Gostei + 0

10/11/2004

Gandalf.nho

Você deve tratar a propriedade Message da exceção para pegar a informação desejada.


Responder

Gostei + 0

10/11/2004

Osocram

bom.. pel ojeito vc usa query, neh?

eu non tenho certeza mas c CDS (ClienteDataSet) vc poderia fazer assim...

erro:integer

erro := CDS.ApplyUpdates(0)
dae vc mandar mostrar esse erro... mas ele mostraria qtd de erros... non so das repeticoes.

Mas acho q isso non t ajuda no seu prob...


Responder

Gostei + 0

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

Aceitar