jafm Posted June 13, 2012 at 01:25 PM Report #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.
Rechousa Posted June 13, 2012 at 01:53 PM Report #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
jafm Posted June 13, 2012 at 02:27 PM Author Report #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
Rechousa Posted June 13, 2012 at 02:34 PM Report #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
jafm Posted June 13, 2012 at 02:42 PM Author Report #462505 Posted June 13, 2012 at 02:42 PM Funcionou... Obrigado pela ajuda...
jafm Posted June 20, 2012 at 08:14 AM Author Report #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?
jafm Posted June 20, 2012 at 08:47 AM Author Report #464307 Posted June 20, 2012 at 08:47 AM Já consegui fazer o update... tá resolvido o problema...
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