パラメータを指定したTQueryから表示したTDBGridでのデータ編集

解決


くらげ  2005-05-26 04:13:33  No: 15057

Delphi5+InterBase5.5を使っています。

TQueryでパラメータのあるSQLを指定して、そのクエリで取得してきたデータを
DBGridで表示/編集したいと思っています。
ここで、データの表示は出来るのですが編集が出来ません。

Query1.SQLには、
select * from TABLE where COL = :PARAM
を設定して
DataSource1.DataSetにQuery1を指定、
DBGrid1.DataSourceにはDataSource1を指定しています。
その他のプロパティは表示する列の設定以外、デフォルトのままです。

実行時にPARAMを指定してクエリを開くと表示は出来るので、
データ取得は問題ないはずですが、DBGridに表示されているデータを
変更しようとしても、変更されません。
どうすればDBGridで編集ができるようになるのでしょうか?
初歩的な質問かもしれませんが、よろしくお願いします。


ななし  2005-05-26 04:40:39  No: 15058

> DBGridで編集
編集して、データベースを更新したいという事でしょうか?
キャッシュアップデートすれば良いと思います。

TQuery
ChachedUpdatesプロパティをTrue
UpdateObjectsプロパティにUpdateSQLコンポーネント

TUpdateSQL
DeleteSQL, InsertSQL, ModifySQLプロパティでSQLを設定

更新
Query.ApplyUpdates;


HOta  2005-05-26 06:18:55  No: 15059

TQueryのRequestLiveをTrueにしていますか?


くらげ  2005-05-26 18:36:57  No: 15060

ななしさん、HOtaさん、ありがとうございました。
ななしさんに提案してもらったUpdateObjectを利用する方法で、
データベースを編集することができました。


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

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






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