Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
397 Beiträge
Delphi 10.4 Sydney
|
Insert in eine Firebirddatenbank (Tabelle)
4. Sep 2014, 15: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
|
|
Zitat
|