Delphi5+InterBase5.5を使っています。
TQueryでパラメータのあるSQLを指定して、そのクエリで取得してきたデータを
DBGridで表示/編集したいと思っています。
ここで、データの表示は出来るのですが編集が出来ません。
Query1.SQLには、
select * from TABLE where COL = :PARAM
を設定して
DataSource1.DataSetにQuery1を指定、
DBGrid1.DataSourceにはDataSource1を指定しています。
その他のプロパティは表示する列の設定以外、デフォルトのままです。
実行時にPARAMを指定してクエリを開くと表示は出来るので、
データ取得は問題ないはずですが、DBGridに表示されているデータを
変更しようとしても、変更されません。
どうすればDBGridで編集ができるようになるのでしょうか?
初歩的な質問かもしれませんが、よろしくお願いします。
> DBGridで編集
編集して、データベースを更新したいという事でしょうか?
キャッシュアップデートすれば良いと思います。
TQuery
ChachedUpdatesプロパティをTrue
UpdateObjectsプロパティにUpdateSQLコンポーネント
TUpdateSQL
DeleteSQL, InsertSQL, ModifySQLプロパティでSQLを設定
更新
Query.ApplyUpdates;
TQueryのRequestLiveをTrueにしていますか?
ななしさん、HOtaさん、ありがとうございました。
ななしさんに提案してもらったUpdateObjectを利用する方法で、
データベースを編集することができました。
ツイート | ![]() |