C#SQLite:如何从表中选择值在c#list

时间:2016-11-24 09:34:53

标签: c# sqlite

我正在使用SQLite作为我的数据库提供程序编写C#表单应用程序。 我有一个列出所有产品的Checkedlistbox,我将已检查的Id读入c#List。到现在为止还挺好。现在我想从Table PRODUCTS中选择列表中ID的所有产品(基本上,我想选择选中的产品)。以前我使用LINQ使用以下方法完成此操作: ...... where lstids.Contains(p.id)

但在SQLite中,我有点失落。我尝试过以下方法:

string query = "Select * from PRODUCTS where id in  "+ lstids;

但它返回一个空值。

有什么想法吗?

致以最诚挚的问候,

Flavio Justino

1 个答案:

答案 0 :(得分:2)

要在IN中执行正确的SQLLite声明,您需要按以下方式提供:

SELECT * FROM Products WHERE ID in (id1, id2, id3)

lstids可能是listcollection而且ToString()没有提供正确的数据。

试试:

var ids = string.Join(",", lstids.Select(x => x.ToString()).ToArray());
string query = string.Format("SELECT * FROM Products WHERE ID in ({0})", ids)