現在CientDatasetで
Key1,Key2,Key3,Item1,Item2,Item3,Kin
というフィールドを持たせたデータがあります。
これを読み込みKye1,Key2,Key3でKinを合計し
Table1に登録・更新したいのですがうまくいきません
Tabel1のフィールドは
Key1,Key2,Key3,AKinです。
只今のロジックとしては
with ClientDataSet1 do
begin
First;
while not(Eof) do
begin
Table1.Append;
Table1.Fields.FieldByName('Key1') := Fields.FieldByName('Key1');
Table1.Fields.FieldByName('Key2') := Fields.FieldByName('Key1');
Table1.Fields.FieldByName('Key3') := Fields.FieldByName('Key1');
Table1.Fields.FieldByName('AKin') := Fields.FieldByName('Kin');
Table1.Post;
Next;
end;
end;
Table1.ApplyUpdates;
JSTDataModule.Database1.Commit;
Table1.CommitUpdates;
end;
UpdateSQLの
InsertSQLは
INTSERT INTO [Table1]
(Key1,Key2,Key3,Akin)
Values
(Key1,Key2,Key3,Kin)
ModifySQLは
UPDATA [Table1]
SET AKin = Akin + Kin
WHERE Key1 = :OLD_Key1
AND Key2 = :OLD_Key2
AND Key3 = :OLD_Key3
ModifySQLがうまくいかずキー違反がでてしまいます。
キーは「Key1,Key2,Key3」です。
ご指導お願い致します
勘違いしてました。
m(_ _)m
ツイート | ![]() |