Importar e exportar no FIreBird

20/03/2006

0

Olá a todos,
gostaria de uma ajuda a respeito da importação de informações
de tabelas do FireBird.
o negócio é o seguinte:
fiz a exportação de informações de uma tabela do firebird para
arquivo em disquete, até aí tudo bem.
depois fiz a importação dessas informações que não tive
nehuma dificuldade, porém, se não houvesse a o problema de
duplicidade dessas informações.
seria a situação em que o usuário importasse várias vezes
essas informações ocasionando duplicidade na tabela.
gostaria de saber como faço para chegar as informações antes
de serem importadas definitivamente, assim,
impedir a duplicidade das informações importadas.


Carlosceuma

Carlosceuma

Responder

Posts

20/03/2006

Edilcimar

existem dois tipos de recuperação de dados
1) total, onde todo o banco de dados é recuperado e tudo é substituído pelo antigo
2) parcial onde apenas aquilo que é desejado é substituído, este tipo é mais complicado pois vc deve dar ao usuário a possibilidade de escolher aquilo de deverá ser substituído, porém deverá ter em mente a probabilidade do cliente escolher ´coisa errada´, ou seja deverá fazer uma rotina onde a substituição de algo já existente deve ser muito bem analisada, neste caso deverá impedir a duplicidade de dados, porém haverá a possibilidade de substituição de dados verdadeiros por dados falsos


Responder

21/03/2006

Paullsoftware

caro carlosceuma,
eu faço todos os dias a importação/checagem de mais/menos 20000 registros de uma tabela de clientes, isso, pq o outro programador aqui da empresa resolveu colocar a informação Devedor na tabela do cadastro de clientes, então, o que eu faço é o seguinte:
:arrow: :arrow: :arrow:
Var Registros: TStringList;
    ListaCampos: TStringList;
    j: Integer ;
    vUpDate : Boolean;
Const Enter_ = #13 + 10;
begin
....

Carrego os dados a serem importados em uma StringList :!: :!: :!:
           
           Registros := TStringList.Create;
           ListaCampos := TStringList.Create;
           Registros.LoadFromFile(NomeArquivo);

faço uma pesquisa na minha tabela para ver se o registro já existe na tabela e... :idea: :idea:
 
             if ListaCampos[0] <> ´´ then
                begin
                  TITULAR.Close;
                  TITULAR.SelectSQL[1]:=´ WHERE CODSAFPE=:PESQUISA ´;
                  TITULAR.ParamByName(´PESQUISA´).AsString := ListaCampos[0];
                  TITULAR.Open;
                end;

onde faço uma comparação dos valores 1 a 1, para ver se houve alteração e trabalho com três ipóteses:
1 - Se não houver alterações passo para o proximo registro;
2 - Havendo alterações Atualizo os dados do Registro;
3 - Não existindo o Registro Incluo como novo;
não existe a bossibilidade de duplicação, o principal é vc criar um campo chave (nomalmente o ID do Registro) que jamais será duplicado! :roll: espero ter ajudado! :wink:


Responder

21/03/2006

Carlosceuma

Olá Edcilmar e Paull,
Valeu mesmo a dica mas, Paull eu já tive esta ideia sim, mas o que uso como exportador é um componete do IBX o IBSQL, ele exporta do banco de dados somento o que o usuário deseja exportar e ele também faz a importação do que foi exportar, porém, importa tudo que foi exportado.
eu queria fazer uma forma de fazer esta verificação, conforme vc mencionou PAULL, mas não sei fazer isso com este componente IBSQL que utilizo.
de qualquer forma, agradeço de montão aos dois.


Responder

23/03/2006

Carlosceuma

Alguém poderia dar essa força para importar dados para uma tabela em um banco de dados do Firebird, porém, antes de importar definitivamente, ele verificasse se tem informações já lançadas, ,ou seja, em duplicidade.
de já agradeço de montão.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar