Einzelnen Beitrag anzeigen

manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#1

FibPlus SQL-Befels Reinfolge / abarbeitung

  Alt 28. Dez 2006, 16:27
Datenbank: Fiebird • Version: 1.5 • Zugriff über: Fibplus
Hallo zusammen

zuerst nachträglich schöne Weihnachten und einen guten rutsch ins
neue Jahr.

Seit einiger Zeit versuche ich einen Im - Export in meiner Anwendung
zu realisieren.

Die Anwendung besteht aus mehreren Sparten.
Das Problem ist das der Im-Export bei einigen geht ( Sparten ) bei anderen nicht
obwohl er überall gleich realisiert wurde....

Wenn untenstehender Code ausgeführt wird und ich nebenbei einen SQL-Monitor
mitlaufen lasse sehe ich das z.t Befehle übersprungen werden.
Mir ist das völlig unlogisch. Könnt Ihr da witerhelfen?


Delphi-Quellcode:
procedure TDM_school.import_data(Sender: TObject);
begin
  DM.DB_Gideons.Connected := True;
  DM.Camps.Open;
  School.Open;
  School_D.Open;
  School_DD.Open;
  School_C.Open;
  School_S.Open;
  //
  // Extract the Zipfile
  //
  DM.ZipMaster.ExtrBaseDir := app_dir + 'exchange';
  DM.ZipMaster.ZipFileName := app_dir + 'exchange\school.zip';
  DM.ZipMaster.Extract;
  //
  // Erase of all Data in the Tables
  with Q_School_import do
  begin
    Close;
    SQL.Clear;
    SQL.Add ( 'DELETE FROM SCHOOL_DD');
    ExecQuery;
    Close;
    SQL.Clear;
    SQL.Add ( 'DELETE FROM SCHOOL_D');
    ExecQuery;
    Close;
    SQL.Clear;
    SQL.Add ( 'DELETE FROM SCHOOL_C');
    ExecQuery;
    Close;
    SQL.Clear;
    SQL.Add ( 'DELETE FROM SCHOOL_S');
    ExecQuery;
    Close;
    SQL.Clear;
    SQL.Add ( 'DELETE FROM SCHOOL');
    ExecQuery;
    Close;
  //
// School.Close;
// School_D.Close;
// School_DD.Close;
// School_C.Close;
// School_S.Close;
// //
// School.Open;
// School_D.Open;
// School_DD.Open;
// School_C.Open;
// School_S.Open;
  // Import of all Data in exchange/ *.fibplus
  //
    Close;
    SQL.Clear;
    SQL.Add ( 'insert into SCHOOL ( ID, C_NR, U_NR, NAME, KIND, TITLE, STR, PLZ, CITY, TEL, FAX, EMAIL, HOMEPAGE, SCHOOLJ, NUMBER, WORKER, ACCEPTANCE, STATUS, NOTE, NC, CS, L_UPDATE, STAT_UPDATE, STAT_DEL, OPT )' +
              'values ( :ID, :C_NR, :U_NR, :NAME, :KIND, :TITLE, :STR, :PLZ, :CITY, :TEL, :FAX, :EMAIL, :HOMEPAGE, :SCHOOLJ, :NUMBER, :WORKER, :ACCEPTANCE, :STATUS, :NOTE, :NC, :CS, :L_UPDATE, :STAT_UPDATE, :STAT_DEL, :OPT )');
    BatchInputRawFile(app_dir + 'exchange/school.fibplus');
    Close;
    SQL.Clear;
    SQL.Add ( 'INSERT INTO SCHOOL_D (ID, C_NR, U_NR, ID_AREA, D_DATE, D_C_PERSON, D_C_THRU, D_NOTE, L_UPDATE, STAT_UPDATE, STAT_DEL)' +
              'values ( :ID, :C_NR, :U_NR, :ID_AREA, :D_DATE, :D_C_PERSON, :D_C_THRU, :D_NOTE, :L_UPDATE, :STAT_UPDATE, :STAT_DEL)');
    BatchInputRawFile(app_dir + 'exchange/school_d.fibplus');
    Close;
    SQL.Clear;
    SQL.Add ( 'INSERT INTO SCHOOL_DD (ID, C_NR, U_NR, ID_D, BIBEL_TYPE, AMOUNT, L_UPDATE, STAT_UPDATE, STAT_DEL)' +
              'values ( :ID, :C_NR, :U_NR, :ID_D, :BIBEL_TYPE, :AMOUNT, :L_UPDATE, :STAT_UPDATE, :STAT_DEL)');
    BatchInputRawFile(app_dir + 'exchange/school_dd.fibplus');
    Close;
    SQL.Clear;
    SQL.Add ( 'INSERT INTO SCHOOL_C (ID, C_NR, U_NR, ID_AREA, C_TITLE, C_NAME, C_FIRSTNAME, C_POSITION, C_TEL_1, C_TEL_2, C_EMAIL, C_NOTE, L_UPDATE, STAT_UPDATE, STAT_DEL)' +
              'values ( :ID, :C_NR, :U_NR, :ID_AREA, :C_TITLE, :C_NAME, :C_FIRSTNAME, :C_POSITION, :C_TEL_1, :C_TEL_2, :C_EMAIL, :C_NOTE, :L_UPDATE, :STAT_UPDATE, :STAT_DEL)');
    BatchInputRawFile(app_dir + 'exchange/school_c.fibplus');
    Close;
    SQL.Clear;
    SQL.Add ( 'insert into SCHOOL_S ( ID, C_NR, U_NR, TY, Q, YT, QT, L_UPDATE, STAT_UPDATE, STAT_DEL )' +
              'values ( :ID, :C_NR, :U_NR, :TY, :Q, :YT, :QT, :L_UPDATE, :STAT_UPDATE, :STAT_DEL )');
    BatchInputRawFile(app_dir + 'exchange/school_s.fibplus');
  end;
  // Delete the .fibplus after Import
  DeleteFile ('exchange\school.fibplus');
  DeleteFile ('exchange\school_d.fibplus');
  DeleteFile ('exchange\school_dd.fibplus');
  DeleteFile ('exchange\school_c.fibplus');
  DeleteFile ('exchange\school_s.fibplus');
end;
Das Problem tritt hauptsächlich beim löschen auf ( das was übersprungen wird ).
Anschliesend entstehen dann natürlich Probleme beim Import.

Bin für jede Hilfe dankbar.

Shalom
Manfred
  Mit Zitat antworten Zitat