UpdateSQLの使用方法がわかりません

解決


超初心者  2006-01-19 02:14:19  No: 19750

現在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」です。

ご指導お願い致します


超初心者  2006-01-20 02:47:44  No: 19751

勘違いしてました。
m(_ _)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加