Einzelnen Beitrag anzeigen

EvilCodein

Registriert seit: 15. Jan 2005
Ort: Bernburg
46 Beiträge
 
Delphi 2005 Architect
 
#7

Re: Datensatz über Record -> in Access über SQL, Fehler?

  Alt 21. Dez 2005, 14:02
ich hab jetzt den quelltext wie folgt umgeändert:
Delphi-Quellcode:
function TMain.SyncDatabase: Boolean;
var Fp: String;
    f: File of Byte;
begin
  SyncDatabase := TRUE;
  Fp := 'C:\Dokumente und Einstellungen\Tilo\Desktop\micha\ServiceReport\Kunden.ard';
  AssignFile(ARDFile, Fp);
  Reset(ARDFile);
  ClientsQuery.SQL.Clear;
  ClientsQuery.SQL.Add('DELETE * FROM Clients');
  ClientsQuery.ExecSQL;
  ClientsQuery.SQL.Clear;
  ClientsQuery.SQL.Add('INSERT INTO clients (ID, Anrede, Name, Street, PLZ, City, HomePhone, MobilePhone, Field3, Field4)');
  ClientsQuery.SQL.Add('VALUES (:var1, :var2, :var3, :var4, :var5, :var6, :var7, :var8, :var9, :var10)');

  while not Eof(ARDFile) do
  begin
    Read(ARDFile, ARDRecord);

    Data.cnumber := ARDRecord.cnumber;
    Data.cpre := ARDRecord.cpre;
    Data.cname := ARDRecord.cname;
    Data.cstreet := ARDRecord.cstreet;
    Data.cplz := ARDRecord.cplz;
    Data.ccity := ARDRecord.ccity;
    Data.ctel := ARDRecord.ctel;
    Data.cmobil := ARDRecord.cmobile;
    Data.cfield3 := ARDRecord.cfield3;
    Data.cfield4 := ARDRecord.cfield4;

    ClientsQuery.Parameters.ParamByName('var1').Value := Data.cnumber;
    ClientsQuery.Parameters.ParamByName('var2').Value := Data.cpre;
    ClientsQuery.Parameters.ParamByName('var3').Value := Data.cname;
    ClientsQuery.Parameters.ParamByName('var4').Value := Data.cstreet;
    ClientsQuery.Parameters.ParamByName('var5').Value := Data.cplz;
    ClientsQuery.Parameters.ParamByName('var6').Value := Data.ccity;
    ClientsQuery.Parameters.ParamByName('var7').Value := Data.ctel;
    ClientsQuery.Parameters.ParamByName('var8').Value := Data.cmobil;
    ClientsQuery.Parameters.ParamByName('var9').Value := Data.cfield3;
    ClientsQuery.Parameters.ParamByName('var10').Value := Data.cfield4;

    // Inc(Recordcount);
    ProgressBar.Position := Recordcount * 100 div FileSize(ARDFile);
    ProgressBar.Update;

    ClientsQuery.ExecSQL;
  end;

  CloseFile(ARDFile);
  ProgressBar.Position := 0;
end;
Die Fehlermeldung bleibt jedoch die gleiche ... kann nich jemand mal mit Delphi 7 ausprobieren, ob da der gleiche Fehler auftritt? Bitte..

Codein
Software is like Sex, it's best if it's free.
  Mit Zitat antworten Zitat