Einzelnen Beitrag anzeigen

Ulf346C

Registriert seit: 15. Okt 2003
Ort: Magdeburg
85 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Bug oder Feature ? MySQL + Zeos + viele Datensätze

  Alt 15. Jun 2005, 09:29
Datenbank: MySQL • Version: 4.1 • Zugriff über: SQL Server
So langsam geht es voran mit meinen ersten Gehversuchen mit MySQL und der ZEOS-Komponenten.

Nun bin ich dabei meine Probedaten zu konvertieren (dBase->MySQL) um etwas zum Arbeiten zu haben.

Nun habe ich das erste Problem:
Das konvertieren klappt soweit. Ich kann einen einzelnen Datensatz ohne weitees kopieren. Auch Hundert, geht alles.
Lasse ich jedoch die ganze Tabelle durchlaufen (211.000 Datensätze) ist meine SQL-Zieltabelle leer

Es funktioniert nur, wenn ich vorher einen Datensatz einzeln kopiert oder einen leeren Datensatz in der Zieltabelle erzeugt hatte.
So richtig Zweck der Übung kann das ja aber auch nicht sein, ich muß mich ja darauf verlassen daß meine Daten auf jeden Fall ankommen, auch in einer frisch erzeugten Tabelle.

Hier mal en Codeausschnitt:

Delphi-Quellcode:
procedure TForm1.DataKopiere(Sender: TObject);
var i, n: integer;
    ok: boolean;
    t: string;
    t1, t2: tFieldType;
begin
  n := table1.FieldCount -1; // Table 1 ist die dBase Quelltabelle
  zQuery1.append;
  zQuery1.edit;
  for i := 0 to n do begin
    t := table1.fields[i].fieldname;
    t1 := table1.fieldbyname(t).DataType;
    t2 := zQuery1.fieldbyname(t).DataType;
    ok := true;
    if table1.fieldbyname(t).isNull then ok := false;
    if ok and (t1 = ftInteger) then begin
      zQuery1.fieldbyname(t).asInteger := table1.fieldbyname(t).asInteger;
      ok := false;
    end;
    if ok and (t1 = ftLargeInt) then begin
      zQuery1.fieldbyname(t).asInteger := table1.fieldbyname(t).asInteger;
      ok := false;
    end;

    //... usw. für die vierschiendene Zelltypen

  end;
  zQuery1.Post;
  table1.next;
end;
Hat jemand eine Idee ?

Ulf
  Mit Zitat antworten Zitat