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

解決


orange  2020-03-09 15:41:07  No: 148616

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 18:16:07  No: 148617

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


igy  2020-03-09 20:25:44  No: 148618

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


orange  2020-03-10 10:39:54  No: 148619

ありがとうございます。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 11:25:05  No: 148620

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

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


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








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