Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4
  Alt 13. Mai 2003, 11:40
Tja, kenne ADO leider nicht, aber ich habe bei so was schon fast Schiffbruch erlitten, fertige Komponenten für sowas sind anscheinend sehr fehleranfällig und unflexibel. Deshalb habe ich das ganze so gemacht:

Code:
procedure TForm1.Button1Click(Sender: TObject);
VAR k : textfile;
    zeile : string;
begin
  AssignFile (k,'C:\DB\PERSSQL');
  reset (k);
  PersDataSet.open;
  WHILE NOT EOF (k) DO BEGIN
    readln (k,zeile);
    PersDataSet.insert;
    PersDataSet.FindField('ID').AsInteger := StrToInt (copy (zeile,1,10));
    PersDataSet.FindField('NR').AsInteger := StrToInt (copy (zeile,11,5));
    PersDataSet.FindField('PERSONART').AsString := copy (zeile,16,1);
    PersDataSet.FindField('ANREDE').AsString := copy (zeile,17,30);
    PersDataSet.FindField('NAME').AsString := copy (zeile,47,30);
    PersDataSet.FindField('STRASSE').AsString := copy (zeile,77,30);
    PersDataSet.FindField('ORT').AsString := copy (zeile,107,30);
    PersDataSet.FindField('GEBURTSTAG').AsDateTime := StrToDateTime (copy (zeile,137,10));
    PersDataSet.FindField('EINTRITTSDATUM').AsDateTime := StrToDateTime (copy (zeile,147,10));
    PersDataSet.FindField('TELEFONPRIVAT').AsString := copy (zeile,157,20);
    PersDataSet.FindField('FAX').AsString := copy (zeile,177,20);
    PersDataSet.FindField('BLZ').AsString := copy (zeile,197,10);
    PersDataSet.FindField('KONTONR').AsString := copy (zeile,207,10);
    PersDataSet.FindField('BANK').AsString := copy (zeile,217,30);
    PersDataSet.Post;
  END;
  CloseFile (k);
  DataBase.Commit;
  ShowMessage ('Konvertierung erfolgreich beendet !');
  close;
end;
Der Unterschied, zu Deinem Problem ist allerdings, bei mir war auch die Textdatei von mir und da habe ich kurzerhand feste Feldlängen verwendet. Aber mit dem ; das sollte so ähnlich laufen. Meine Erfahrung ist mittlerweile, in den sauren Apfel zu beißen und das ganze selber zu machen. Dauert zwar ewig, aber Ziel ist in Sicht.
Gruß
Hansa
  Mit Zitat antworten Zitat