jafm Posted June 13, 2012 Report Share Posted June 13, 2012 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 More sharing options...
Rechousa Posted June 13, 2012 Report Share Posted June 13, 2012 Olá, Presumo que o teu ficheiro TXT tenha um ID que identifique o registo. Se assim for, ou testas se o ID existe na BD ou colocas o campo ID para campo chave - desta forma não há registos repetidos. Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa Link to comment Share on other sites More sharing options...
jafm Posted June 13, 2012 Author Report Share Posted June 13, 2012 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 Link to comment Share on other sites More sharing options...
Rechousa Posted June 13, 2012 Report Share Posted June 13, 2012 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 More sharing options...
jafm Posted June 13, 2012 Author Report Share Posted June 13, 2012 Funcionou... Obrigado pela ajuda... Link to comment Share on other sites More sharing options...
jafm Posted June 20, 2012 Author Report Share Posted June 20, 2012 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 More sharing options...
jafm Posted June 20, 2012 Author Report Share Posted June 20, 2012 Já consegui fazer o update... tá resolvido o problema... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now