SQL ServerのDBにクエリーで問い合わせてDBGridに表示させたい

解決


orange  2020-03-09 06:41:07  No: 148616  IP: 192.*.*.*

InterBaseを使用してクエリーで問い合わせた結果をDBGridに表示する際は以下の感じで行っていました。

TIBDataBase - TIBQuery ‐ TDataSource - TDBGrid


このたびSQL Serverで同様のことがしたくて以下のように試みてみましたが「指定の操作は単方向データセットでは許されません」とエラーが表示されてうまくいきません

TSQLConnection - TSQLQuery - TDataSource - TDBGrid

SQL ServerのDBにクエリーで問い合わせてDBGridに表示させるにはどのようにすればよいのでしょうか?

環境はDelphi 10.3 Enterprise、Windows 10 Pro 64bitです。

編集 削除
HFUKUSHI  2020-03-09 09:16:07  No: 148617  IP: 192.*.*.*

なぜFireDACではなくdbExpressなんでしょう?
TFDConnection-TFDQuery-TDataSource-TDBGrid

編集 削除
igy  2020-03-09 11:25:44  No: 148618  IP: 192.*.*.*

(FireDACのほうが、良さそうですが、) 一応、dbExpress の場合も、挙げておきますね。
TSQLConnection - TSQLDataSet - TDataSetProvider - TClientDataSet - TDataSource - TDBGrid

編集 削除
orange  2020-03-10 01:39:54  No: 148619  IP: 192.*.*.*

ありがとうございます。FireDACを知りませんでした... 
TFDConnection-TFDQuery-TDataSource-TDBGridで問い合わせ結果をDBGridに表示できました。

ただ、なぜかSQL文にパラメータを使用するとDBGridに結果が表示されません。
記述の仕方に問題がありますでしょうか? 
 
with DM1 do
    with TFDQuery do
     begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT * FROM T010_URIAGE ');
      SQL.Add('WHERE SALE_DATE = :SDate ');
      Params[0].AsDateTime := Date;
      Prepare;
      Open;
    end;

編集 削除
orange  2020-03-10 02:25:05  No: 148620  IP: 192.*.*.*

パラメータを使用するとDBGridに結果が表示されない件、当方の勘違いでした。
問題なく動作いたしました。

助かりました。ご助言いただきました皆様、ありがとうございました。

編集 削除