在中使用sql操作符获取值时出错



在相关的帖子上没有答案,所以我提出这个问题。我一直在寻找如何使用具有多个值的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值,即(1)或(2),它的工作很好。

问题是:

  1. 如何直接它,所以我可以从3个不同的值记录?
  2. 如何将其应用于字符串值?

SQLTStrings的子类。当您使用上述设置CommaText时,您实际上将查询设置为:

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

这显然行不通。
您需要设置Text属性或使用Add()方法添加单独的行

尝试在SQL调用

时使用CommandText而不是CommaText
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)';

相关内容

最新更新