Einzelnen Beitrag anzeigen

Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Insert in eine Firebirddatenbank (Tabelle)

  Alt 4. Sep 2014, 14:37
Datenbank: Firebird • Version: 2,5 • Zugriff über: SQL
Hallo,

ich habe folgende Procedure.

Delphi-Quellcode:
procedure TRessourcenListe.SaveIntoDB;
  var i: Integer;
      saveResource: TKalenderRessource;
      range: TDisabledRange;
      j: Integer;

begin
     try
        // delete old resources and ranges
        ExecuteSQL('delete from Disabled_Ranges', []);
        ExecuteSQL('delete from Resources', []);
        // save new resources
        for i := 0 to FResources.Count - 1 do begin
            saveResource := TKalenderRessource(FResources[i]);
            if saveResource.Image = nil then
            begin
               ExecuteSQL( 'insert into Resources (Resname, ResPosition, ResId) values (:Resname, :ResPosition, :ResId)',
                           [saveResource.Title, saveResource.Position, saveResource.ResourceId])

            end
            else
              ExecuteSQLEx('insert into Resources (Resname, Resimage, ResPosition, ResId)'
                           + ' values (:Resname, :Resimage, :ResPosition, :ResId)',
                           [saveResource.Title, saveResource.Image, saveResource.Position, saveResource.ResourceId], [2]);
            // save disabled ranges
            for j := 0 to saveResource.DisabledRangesCount - 1 do begin
                range := TDisabledRange(saveResource.DisabledRanges[j]);
                ExecuteSQLEx('insert into Disabled_Ranges (ResId, Disabled_Num, Disabled_From, Disabled_To)'
                           + ' values (:ResId, :Disabled_Num, :Disabled_From, :Disabled_To)',
                           [saveResource.ResourceId, j+1, range.Start, range.Finish], [3, 4]);
            end;
        end;
     except
     end;
end;
Leider werden bestimmte Werte nicht in die Tabelle geschrieben obwohl die Parameter alle gefüllt sind. Hat jemand eine Ahnung warum nicht.

Das Problem habe in öfters in meine Anwendung weiß aber nicht wieso das so ist.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat