jafm Posted June 13, 2012 at 01:25 PM Report Share #462462 Posted June 13, 2012 at 01:25 PM 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 at 01:53 PM Report Share #462490 Posted June 13, 2012 at 01:53 PM 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 at 02:27 PM Author Report Share #462500 Posted June 13, 2012 at 02:27 PM 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 at 02:34 PM Report Share #462503 Posted June 13, 2012 at 02:34 PM 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 at 02:42 PM Author Report Share #462505 Posted June 13, 2012 at 02:42 PM Funcionou... Obrigado pela ajuda... Link to comment Share on other sites More sharing options...
jafm Posted June 20, 2012 at 08:14 AM Author Report Share #464303 Posted June 20, 2012 at 08:14 AM 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 at 08:47 AM Author Report Share #464307 Posted June 20, 2012 at 08:47 AM 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