掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
UpdateSQLでの更新について (ID:2574)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になります。 [Windows2000,Delphi5] TDBGrid上でデータの編集を行い、UpdateSQLで更新を行っています。 (編集されたColumn1(数値)をColumn2に足しています。) 例えば、3レコード目と5レコード目を編集した場合に 1回目の"ApplyUpdates"で3・5レコード目を更新 3回目の"ApplyUpdates"で(もう一度)3レコード目を更新 5回目の"ApplyUpdates"で(もう一度)5レコード目を更新 となってしまいます。 1回目に'Query1UpdateRecord'を3回通っているようなのですが (「1レコード目+編集された分=3回」?!) なぜこうなるのか解からず行き詰まっています。。 procedure TForm1.Button1Click(Sender: TObject); begin with DM.Query1 do begin DisableControls; try First; while not Eof do begin DM.Database1.StartTransaction; Edit; try ApplyUpdates; DM.Database1.Commit; except DM.Database1.Rollback; raise; end; CommitUpdates; Next; end; finally EnableControls; end; end; end; procedure TDM.Query1UpdateRecord(DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction); begin if UpdateKind = ukModify then begin if DM.Query1.UpdateStatus = usModified then begin UpdateSQL1.Apply(UpdateKind); UpdateAction := uaApplied; end; end; お分かりになる方がいらっしゃいましたら どうぞよろしくお願い致します。m(_ _)m
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.