お世話になります。
[D5]以来5年ぶりくらいにDelphiに触っているのですが、DBGridにTSQLQueryのデータを表示させる為に、FormにTDataSourceを貼り付け、DBGridのDataSourceを設定したのですが、「指定の操作は単方向データセットでは許されません」と表示され、設定する事が出来ません。
以前は5分で出来た事なので、分かってしまえばあまりに簡単な事なのかもしれませんが、ネットで検索しても具体的な設定方法を見つける事が出来ませんでした。
具体的にどのコンポーネントを使用して、どのプロパティを設定するという記述のあるサイト、もしくはやり方を教えて頂けないでしょうか?
よろしくお願いします。
dbExpressでしたら、
TSQLConnection − TSQLDataSet − TDataSetProvider − TClientDataSet − TDataSource − DBGrid
でいかがでしょう。
igyさま
早々のご連絡ありがとうございました。
TSQLQuery ← SQLConnectionにTSQLConnectionを設定?
TSQLConnection ← DB接続の設定
TSQLDataSet ← SQLConnectionにTSQLConnectionを設定
TDataSetProvider ← DataSetにTClientDataSetを設定?
TClientDataSet ← ???
TDataSource ← DataSetにTClientDataSetを設定
DBGrid ← DataSourceにTDataSourceを設定
という所まで設定してみたのですが、TClientDataSetはどのプロパティの何をセットするのかが分かりませんでした。
ここまでの設定で合っているかどうかを教えて頂けたら助かります。
※ ちなみにここまでで「指定の操作は単方向データセットでは許されません」は表示されていません。
よろしくお願いします。
# 実際、正しい方法が、自信がないのですが・・・・
>TDataSetProvider ← DataSetにTClientDataSetを設定?
私の場合、さらに、
with DataSetProvider1 do
Options := Options + [poAllowCommandText];
を指定してます。
>TClientDataSet ← ???
with ClientDataSet1 do
ProviderName := DataSetProvider1.Name;
を指定して、SELECT文なのは、CommandTextプロパティに記入してます。
×:# 実際、正しい方法が、自信がないのですが・・・・
○:# 実際、正しい方法か、自信がないのですが・・・・
あと、
>ここまでの設定で合っているかどうかを教えて頂けたら助かります。
記入されている内容で合っていると思います。
XE2でしたら、ヘルプに
「チュートリアル:アプリケーションで dbExpress を使用してデータベースを表示および更新する 」
があるので、そちらも参照してみてください。
igyさま
丁寧な解説ありがとうございました。
チュートリアルも見たのですが見つけられなかったので、もう一度確認してみます。
結果はまた報告させて頂きます。
igyさま
チュートリアルを見て設定ができました。
TSQLQueryにSQL文を書いて実行しようとしていましたが、TSQLDataSetに書かなければいけないようでした。
実際にはパラメータの設定等が残っている為、まだデータの表示までしておりませんが、DBGridに項目名が表示されているので、後はSQL文の見直し等をして自力でやります。
ありがとうございました。
ツイート | ![]() |