Jump to content

[Resolvido] Não inserir dados duplicados


jafm
 Share

Recommended Posts

Boas...

Estou a importar ficheiro txt para uma data grid e por sua vez este mete na base dados, só que se eu voltar a inserir o mesmo ficheiro txt os dados ficam duplicados, mas isso eu não quero...

O que precisava era caso o Id fosse diferente adicionava a linha ao registo, e caso fosse igual não adicionasse.

Link to comment
Share on other sites

pela chave não dá, pois o objectivo é k o programa não dê erro e apenas insiras os valores que nao existam na base de dados

1) Podes usar Try / catch para apanhar a excepção, assim o programa não dá erro.

2) Podes validar se o ID existe :

IF NOT EXISTS(SELECT 1 FROM dbo.Tabela WHERE ID=O_TEU_ID) BEGIN INSERT.-..... END

3) Continuo a achar que devias usar campo chave.

Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Link to comment
Share on other sites

Boas, novamente....

Agora dentro desse IF NOT EXISTS.... necessitava de fazer um update,ou seja, sempre que faço entrar um ficheiro txt ele verifica se no ID existe alguma alteraçao de informação, se existir altera a mesma...

IF NOT EXISTS (SELECT CodProd FROM Artigos WHERE CodProd = '" & CodProd & "') BEGIN INSERT INTO Artigos (CodProd, Desc, Venda) VALUES ('" & CodProd & "','" & Desc & "', '" & Venda & "' ) ELSE BEGIN UPDATE Artigos SET Desc='" & Desc & "', Venda='" & Venda & "' WHERE CodProd ='" & CodProd) & "' ) END"

estou a colocar a query acima mostrada, mas está a dar erro.... Onde é que estou a falhar na parte do update?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.