Fórum Checar se registro ja existe no banco.Como? #321952

23/05/2006

0

Ola!
To usando D2006 com firebird acessando atraves de sqlconnection,sqldataset,datasetprovider e clientdataset.

Eu tenho um grid conectado a um clientdataset auxiliar(cdsAux) onde criei os campos atraves do fields editor.Nao tem datasetprovider...
Vou usar este grid para carregar um xml q vou ta importando pra dentro do meu aplicativo.

Tenho outro grid ligado a um clientdataset (cdsImport)q ta ligado a um datasetprovider...So q antes de mandar por banco eu quero checar se o registro sendo importado ja existe no banco.

To fazendo isso aqui:


if not cdsImport.locate(´musica´,cdsAux.fieldbyName(´musica´).asString,[]) then
begin
Aqui eu ponho o codigo pra gravar no cdsImport.
End
Else
Begin
//Se achar eu checo se o nome do grupo e o mesmo, pois pode ter musicas com mesmo nome mas de cantores diferentes.
if cdsImport.fieldbyname(´grupo´).asString <> cdsAux.fieldbyName(´grupo´).asString
begin
Aqui eu gravo no banco.O mesmo codigo q o de cima
end;
end;

Acontece q sempre sao inseridos dois registros a mais.Vamos dizer q no meu arquivo xml q esta sendo importado , todos os registros dele ja estao no banco de dados, dai 2 registros sao inserirdos mesmo ja estando...


O que estou fazendo errado?

obrigado


Ecptavares

Ecptavares

Responder

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

Aceitar