删除sqlite

时间:2017-10-17 16:50:48

标签: c# sqlite xamarin xamarin.forms

我在sqlite中有以下查询,我在Xamarin Forms中使用它。

allProdsId初始化为:

allProdsId = new List<Products>();

首先,我做了一个查询,从表格产品中检索所有产品ID。然后,我想删除所有订单ProdId检索到的所有allProdsId的订单。

删除查询无效。有人可以帮助我使用xamarin表单在sqlite中实现WHERE IN子句吗?

allProdsId = _con.Query<Products>("Select ProdId from Products");

con.Execute("DELETE FROM Orders WHERE ProdId = ?", allProdsId);

1 个答案:

答案 0 :(得分:3)

创建一个逗号分隔的所有ProdIds字符串,并将其直接插入SQL字符串中。

var productIDs = conn.Query<Products>("Select ProdId from Products");
var prodIDCommaString = string.Join(",", productIDs.Select(p => p.ProdId));
var deleteCount = conn.Execute("delete from Products where ProdId in (" + prodIDCommaString + ");");