Boa Tarde,

Estou criando um aplicativo para converter os dados de um cliente, de um BD
Interbase para o Firebird.

Estou utilizando Delphi 7 com DbExpress para acesso aos dados.

No aplicativo coloquei 2 Dbgrid's para visualizar os dados após a conversão
(1 para o BD antigo e outro para o meu BD).

Após a leitura e conversão dos dados, não acontece nenhum erro, inclusive os
dados são mostrados no meu dbgrid. Mas quando fecho o aplicativo e vou ver o
meu BD ele está vazio. Ou seja os dados ficaram apenas na memória, não foram
gravados no BD mesmo.

Abaixo estou enviando a rotina para a conversão dos dados dos Fornecedores.
Se alguém puder me dar uma ajuda, pois já queimei fosfato demais e ainda não
consegui descobrir o que está acontecendo.


DMCONVERTE.CDSFornecedor.Open;
DMCONVERTE.CDSForn2.Open;
DMCONVERTE.CDSForn2.EmptyDataSet;    // limpa a tabela de fornecedores do
meu BD

DMCONVERTE.CDSFornecedor.First;            // posiciona no 1o registro do
sistema antigo
// muda o datasource dos dbgrids
DBGrid1.DataSource:=DMCONVERTE.DSFornecedor;
DBGrid2.DataSource:=Dmconverte.DSForn2;

while NOT DMCONVERTE.CDSFornecedor.Eof do
    begin
      DMCONVERTE.CDSForn2.Insert;

      FmtStr(codconv,'%.5d',[DMCONVERTE.CDSFornecedorFOCODIGO.AsInteger]);

      DMCONVERTE.CDSForn2.FieldByName('CODIGO').AsString    := codconv;
      DMCONVERTE.CDSForn2.FieldByName('NOME').AsString      :=
DMCONVERTE.CDSFornecedorNOME.AsString;
      DMCONVERTE.CDSForn2.FieldByName('ENDERE').AsString    :=
DMCONVERTE.CDSFornecedorENDERECO.AsString;
      DMCONVERTE.CDSForn2.FieldByName('BAIRRO').AsString    :=
DMCONVERTE.CDSFornecedorBAIRRO.AsString;

      // Cadastro das Cidades
      If DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=31 then // Acucena
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='ACUCENA'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=284 then // Antonio
Dias
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='ANTONIO DIAS'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=666 then // Belo
Oriente
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='BELO ORIENTE'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=889 then // Bugre
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='BUGRE'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=1232 then //
Caratinga
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='CARATINGA'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=1577 then //
Coronel Fabriciano
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='CORONEL
FABRICIANO'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=1793 then // DOM
CAVATE
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='DOM CAVATE'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=2200 then //
Governador Valadares
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='GOVERNADOR
VALADARES'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=2354 then // Iapu
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='IAPU'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=2511 then // Ipaba
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='IPABA'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=2518 then //
Ipatinga
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='IPATINGA'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=2921 then //
Joanesia
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='JOANESIA'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=3647 then // Naque
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='NAQUE'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=5084 then //
Santana do Paraiso
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='SANTANA DO
PARAISO'
      else if DMCONVERTE.CDSFornecedorCICODIGO.AsInteger=5901 then //
Timoteo
         DMCONVERTE.CDSForn2.FieldByName('CIDADE').AsString :='TIMOTEO';

      DMCONVERTE.CDSForn2.FieldByName('UF').AsString        :=
DMCONVERTE.CDSFornecedorUF.AsString;
      DMCONVERTE.CDSForn2.FieldByName('CEP').AsString      :=
DMCONVERTE.CDSFornecedorCEP.AsString;

      DMCONVERTE.CDSForn2.FieldByName('TEL').AsString       :=
'('+Copy(DMCONVERTE.CDSFornecedorTELEFONE.AsString,1,2)+')'+


Copy(DMCONVERTE.CDSFornecedorTELEFONE.AsString,3,4)+'-'+

                      Copy(DMCONVERTE.CDSFornecedorTELEFONE.AsString,7,4);

      DMCONVERTE.CDSForn2.FieldByName('TEL_FAX').AsString   :=
'('+Copy(DMCONVERTE.CDSFornecedorTELCOM.AsString,1,2)+')'+


 Copy(DMCONVERTE.CDSFornecedorTELCOM.AsString,3,4)+'-'+

                         Copy(DMCONVERTE.CDSFornecedorTELCOM.AsString,7,4);

      if DMCONVERTE.CDSFornecedorTIPO.AsString='J' then   // pessoa juridica
= 99.999.999/9999-99
         begin
            DMCONVERTE.CDSForn2.FieldByName('CGC_CPF').AsString   :=
Copy(dmconverte.CDSFornecedorCGC.AsString,1,2)+'.'+


 Copy(dmconverte.CDSFornecedorCGC.AsString,3,3)+'.'+


 Copy(dmconverte.CDSFornecedorCGC.AsString,6,3)+'/'+


 Copy(dmconverte.CDSFornecedorCGC.AsString,9,4)+'-'+


 Copy(dmconverte.CDSFornecedorCGC.AsString,13,2);

            DMCONVERTE.CDSForn2.FieldByName('INSC_IDEN').AsString :=
DMCONVERTE.CDSFornecedorINSCRICA.AsString;
         end;

      DMCONVERTE.CDSForn2.FieldByName('CONTATO').AsString     :=
DMCONVERTE.CDSFornecedorCONTATO.AsString;
      DMCONVERTE.CDSForn2.FieldByName('DATA').AsDateTime      :=
DMCONVERTE.CDSFornecedorDATAALTE.AsDateTime;
      DMCONVERTE.CDSForn2.FieldByName('TIP_PES').AsString       :=
DMCONVERTE.CDSFornecedorTIPO.AsString;
      DMCONVERTE.CDSForn2.FieldByName('EMAIL').AsString           :=
DMCONVERTE.CDSFornecedorEMAIL.AsString;
      DMCONVERTE.CDSForn2.FieldByName('HOMEPAGE').AsString  :=
dmconverte.CDSFornecedorWEB.AsString;

      DMCONVERTE.CDSForn2.Post;
      DMCONVERTE.CDSForn2.ApplyUpdates(-1);
      DMCONVERTE.CDSFornecedor.Next;

    end;

Application.MessageBox('Conversao dos Dados dos Fornecedores
concluida.','Atencao',MB_OK+mb_iconexclamation);
end;

Desde já agradeço a ajuda de todos,

Obrigado,

Gilmar


[As partes desta mensagem que não continham texto foram removidas]

Responder a