掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBEDITの入力変更がうまくいかない。 (ID:40537)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
亀レスで、既に解決済みかもしれませんが 05/19(木)の質問の >入力がうまくいかない場合が、多いです。 は、どのように入力がうまくゆかないのか理解できません。 >すんなり入力内容の変更ができません。 は、変更内容のDBへの適用がうまく行かないと言うことと理解しますが、 dbExpressを使用した場合は、ClientDataSetのApplyUpdateメソッドが働かないということでしょうか? 更新適用のタイミングはどのようにしていますか? [適用]ボタンなどで編集後更新するのでしょうか? 更新適用のコードはどのようにしていますか? 05/23(月) の発言で、現在は >DBEDITでは、なく通常のEDIT.TEXTに入れて変更された内容を画面を閉じる段階で最後にClientDataSetの項目に入れております。 ともいわれていますが、ClientDataSetに入れた変更内容をどのようなコードでDBへ更新をかけているのでしょうか? 小生の場合は、IBXでの接続ですがApplyUpdateで問題なく更新できています。 FB2.1 - TIBDataBase - TIBQuery - Datasetprovider - ClientDataSet - DataSource - DBGridで現在運用中ですが DBGridの画面へDBEditを追加、ClientDatasetの一部のFieldをDBEditでも表示、編集出るようにチョット改造して確認してみました。 DBEditの追加とプロパティ(DataSource,Field)の設定のみで他のコードは一切手を加えることなくデータの編集、更新可能でした。 更新適用は、DBGrid内での行移動時に変更の有無をChangeCountで判定して処理しています。 TDataModule1.ClientDataSet1BeforeScroll(DataSet: TDataSet); begin if ClientDataset1.ChangeCount > 0 then ClientDataSet1.ApplyUpdates(-1); ClientDataSet1.Refresh; end; また、行移動なしで閉じる場合を考慮し、BeforeCloseイベントにも(Refreshの行なしで)同じコードを書いてます。 DBEditで編集し、別の場所へマウスカーソルを移すとDBGrid内の同一データが更新されるのが眼の前で確認できます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.