0

関連スレッドで回答が得られなかったので、この質問をします。複数の値を持つwhere句を使用してレコード値を取得する方法を検索しましたが、これを取得しました。

表の例:

|ID |PRICE|
|1  |3000 |
|2  |2000 |
|3  |1000 |
|4  |5000 |
|5  |4000 |

SQL クエリ:

DM.Zread.Close;
DM.Zread.SQL.CommaText := 'select PRICE from DVD where ID in (1, 2, 3)';
DM.Zread.Open;

上記でエラーが発生しました。(1) または (2) の 1 値のみを入力すると、正常に動作します。

質問は次のとおりです。

  1. それをまっすぐにする方法、3つの異なるレコードから値を取得できますか?
  2. 代わりに文字列値に適用する方法は?
4

2 に答える 2

5

SQLTStringsサブクラスです。上記を使用して設定CommaTextすると、実際にはクエリを次のように設定します。

select PRICE from DVD where ID in (1
2
3)

これは明らかにうまくいきません。プロパティ
を設定するか、メソッドを使用して別の行を追加します。TextAdd()

于 2014-06-01T15:20:23.697 に答える
0

SQL 呼び出しでCommaTextではなくCommandTextを使用してみてください

DM.Zread.Close;
DM.Zread.SQL.CommaText := 'select PRICE from DVD where ID in (1, 2, 3)';
DM.Zread.Open;


DM.Zread.SQL.CommandText := 'select PRICE from DVD where ID in (1, 2, 3)';
于 2014-06-01T14:37:33.243 に答える