Guest - ANA - Postado Setembro 15, 2005 Denunciar Share Postado Setembro 15, 2005 Galera é o seguinte,to importando um arquivo atraves do delphi (criei uma janelinha para importar), levando para o oracle (pl/sql).mas o problema é: eu importo uma vez..blza...dai na segunda vez se eu importar o mesmo arquivo os dados ficam duplicados...como posso fazer com ele de apenas um atualizar na tabela?to no ar direto ate as 18h.se puderem me ajudar..valeu abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bastard2003 Postado Setembro 15, 2005 Denunciar Share Postado Setembro 15, 2005 Oi Ana.. pelo que eu entendi... tu teria que verificar se os dados já existem na tabela... se existirem não importa... caso contrario importa... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - ANA - Postado Setembro 15, 2005 Denunciar Share Postado Setembro 15, 2005 É isso mesmo...mas já tentei das formas uqe consegui imaginar e não deu certo.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 adriano_servitec Postado Setembro 15, 2005 Denunciar Share Postado Setembro 15, 2005 Ola sera que se usar uma chave primaria não daria certo?é so uma sujestao Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bastard2003 Postado Setembro 16, 2005 Denunciar Share Postado Setembro 16, 2005 tenta assim:cria uma função que vai ler linha por linha o arquivo e vai buscar no banco pra ver se já existe.... se existir, passa pra outra linha e não grava, se não existir, grava e depois passa pra outra linha. você não falou,mas esse arquivo que você ta lendo, é de que tipo (txt, excel,...)?tenta essa ai, se não der posta de novo...PS: ele ta gravando os dados duplicados não o codigo ne?tipo:codigo - nome1 - bastard2 - bastardisso né? ou??codigo - nome1 - bastard1 - bastardAte! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - ANA - Postado Setembro 16, 2005 Denunciar Share Postado Setembro 16, 2005 è isso ai...ele ta duplicando os dados , o codigo não.vou tentar aki,,,, Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - ANA - Postado Setembro 16, 2005 Denunciar Share Postado Setembro 16, 2005 SERIA MAIS OU MENOS ISSO..nome é a variavel que recebe o valor do txt if nome = DMDados.QueryDoadorNOME_DOADOR.Value then begin DMDados.QueryAlteraDados.Close; DMDados.QueryAlteraDados.ParamByName('TEL_DOADOR').asstring := tel; DMDados.QueryAlteraDados.ParamByName('NOME_DOADOR').asstring := nome; DMDados.QueryAlteraDados.ParamByName('RUA_DOADOR').asstring := rua; DMDados.QueryAlteraDados.ParamByName('BAIRRO_DOADOR').asstring := bairro; DMDados.QueryAlteraDados.ParamByName('CIDADE_DOADOR').asstring := cidade; DMDados.QueryAlteraDados.ParamByName('UF_DOADOR').asstring := uf; DMDados.QueryAlteraDados.ParamByName('CEP_DOADOR').asstring := cep; DMDados.QueryAlteraDados.ParamByName('VLR_DOADOR').asstring := valor; DMDados.QueryAlteraDados.ExecSQL; DMDados.QueryAlteraDados.Close; endelse begin DMDados.QueryGravDoador.Close; DMDados.QueryGravDoador.ParamByName('TEL_DOADOR').asstring := tel; DMDados.QueryGravDoador.ParamByName('NOME_DOADOR').asstring := nome; DMDados.QueryGravDoador.ParamByName('RUA_DOADOR').asstring := rua; DMDados.QueryGravDoador.ParamByName('BAIRRO_DOADOR').asstring := bairro; DMDados.QueryGravDoador.ParamByName('CIDADE_DOADOR').asstring := cidade; DMDados.QueryGravDoador.ParamByName('UF_DOADOR').asstring := uf; DMDados.QueryGravDoador.ParamByName('CEP_DOADOR').asstring := cep; DMDados.QueryGravDoador.ParamByName('VLR_DOADOR').asstring := valor; DMDados.QueryGravDoador.ExecSQL; DMDados.QueryGravDoador.Close; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - ANA - Postado Setembro 16, 2005 Denunciar Share Postado Setembro 16, 2005 OU TB FAZER ISSO ATRAVES DE UMA PROCEDURE OU TRIGGER OU FUNCAO , NO PL/SQL (ORACLE)..........MAS TB não SEI COMO FAZER ISSO. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - ANA - Postado Setembro 20, 2005 Denunciar Share Postado Setembro 20, 2005 ESSE FORUM É UMA MERDA........ARRUMEM MODERADORES QUE SAIBAM FAZER A COISA....FICA ESSA ZONA......UJMA PORCARIA... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kikonanet Postado Setembro 20, 2005 Denunciar Share Postado Setembro 20, 2005 ESSE FORUM É UMA MERDA........ARRUMEM MODERADORES QUE SAIBAM FAZER A COISA....FICA ESSA ZONA......UJMA PORCARIA... Não seja radical! Ninguém sabe td! O Fórum é uma comunidade onde todos aprendem, inclusive os moderadores!Nunca menospreze os outros, afinal se você é tão boa assim quanto as suas palavras, você certamente não precisa de Fóruns! Abs.Kiko Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - ANA - Postado Setembro 21, 2005 Denunciar Share Postado Setembro 21, 2005 não TO FALANDO PELAS RESPOSTA...REALMENTE TEM ME AJUDADO MUITO...MAS POR OUTRAS COISAS QUE não VEM AO CASO....não são PARA VC......O RECADO DEIXADO ANTERIORMENTE TEM DESTINATARIO E A PESSOA SABE QUEM É...A CARAPUÇA VAI SERVIR DIREITINHO....MESMO ASSIM, não RETIRO O QUE EU DISSE.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bastard2003 Postado Setembro 21, 2005 Denunciar Share Postado Setembro 21, 2005 faz assim:cria uma função que retorna um Boolean tipo:function TemNaBase(nome: String):Boolean; nela tu faz o select passando o nome que vem do txt inicia em em false e so passa true se a tua query no final for IsEmpty é no caso ela não axou nada... ai antes de tu inseir os dados tu coloca: if TemNaBase(nome) thenai o codigo pra inserir... se o resultado for false (o recordCount da qry foi > 1 ele não vai inserir).isso deve resolver teu problema!Agora comentando um poco... os comentarios que você deixou aqui... sinceramente... não eram necessarios... p****... se vem pedir ajuda no forum, não é se demora um poco pra responder q você pode se axar no direito de sair xingando todo mundo! foram apenas 3 pessoas ativas nesse post aqui... eu o kiko e Adriano... nossos comentarios... foram pra ajudar e não pra avacalhar com vc... se estamos no forum... estamos pra APRENDER... pois ninguém sabe tudo! não é so porque o cara é op que ele tem o dever de resolver todos os topicos... na minha opnião esse é um dos melhores (se não o melhor) forum de programação so país....fica minha critica aqui... Abraços!bastard2003! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 adriano_servitec Postado Setembro 21, 2005 Denunciar Share Postado Setembro 21, 2005 Tambem não entendi qual foi a bronca, mais ta ai fazer o que!Tambem não tinha visto que você queria pasar arquivo TXT para DB, então por isso respondi errado solicitando chave primaria para não ter como duplicar codigos, achando de DB para DB.Mais tai seu protesto enfim acho que devemos é nos unir para quaisquer questao ou duvida aqui no Forum.Tambem me registrei nesse forum por acha-lo muito bom. falouT+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Setembro 24, 2005 Denunciar Share Postado Setembro 24, 2005 Acho q a melhor forma de fazer isso é através de uma procedure no banco de dados... você passa os valores por parâmetro para essa procedure e dentro dela você testa se já existe o registro, caso exista você faz um update na tabela... caso não exista você faz um insert...Caso você não saiba fazer essa procedure eu posso t ajudar... MSN: ri_ismiti@hotmail.comVlw. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - ANA -
Galera é o seguinte,
to importando um arquivo atraves do delphi (criei uma janelinha para importar), levando para o oracle (pl/sql).
mas o problema é: eu importo uma vez..blza...
dai na segunda vez se eu importar o mesmo arquivo os dados ficam duplicados...
como posso fazer com ele de apenas um atualizar na tabela?
to no ar direto ate as 18h.
se puderem me ajudar..
valeu
abraço
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.