1

パラメーターの使用方法がわかりません。パラメーターの適切な使用例を見つけるのは少し難しいです。私はクライアントデータセットフィルターを使用することができましたが、それは仕事をしますが、SQLでもできると確信しています。datasnap はそのようなクエリを許可していません。私は自分の研究で、パラメーターを使用する必要があることを読みました。私はそれを理解していません。サーバー/クライアントがdatasnapを使用してセットアップされ、SQLのようにクライアントからクエリできる適切な例が必要です:SELECT * FROM tbl_person WHERE person = 20

これにより、dbgrid に 20 歳のすべての人が表示されます。私が言ったように、フィルターを使用してこれを行うことができましたが、フィルターは100%正しいわけではなく、1つまたは2つの奇妙なレコードが表示されます。

あなたの援助は大歓迎です

4

2 に答える 2

2

ClientDataset とパラメーターを操作するには、さまざまな方法があります。これを試してみてください。

サーバ側:

  1. ServerClass に TSqlQuery を配置し、そのフォームに Sql ステートメントを入力します。

    SELECT * FROM tbl_person WHERE person = :person

    パラメータ プロパティを正しいパラメータ タイプとデータ タイプに設定します。

  2. TDatasetProvider を配置し、TSQLQuery に接続します

  3. サーバーを実行します。

クライアント側:

  1. TDSProviderConnection を配置し、サーバーに接続して ServerClass を割り当てます
  2. TClientDataset を TDSProviderConnection に接続し、TDatasetProvider 名を選択します。
  3. TClientDataset を右クリックし、FetchParams を選択します

これで、このパラメーターに任意の値を割り当てて、あとは Datasnap フレームワークに任せることができます。

詳細については、次のソースを確認してください。

于 2013-01-02T18:52:22.150 に答える
0

SQL コマンドを設定します。

qry.SQL.Text := 'SELECT * FROM tbl_person WHERE age = :age';

パラメータの型を整数に定義します

パラメータ値の設定:

qry.ParamByName('age').AsInteger := 20;

クエリを開きます。

qry.Open;
于 2013-01-06T13:53:49.580 に答える