我在Xamarin Forms中使用的sqlite中有以下查询。删除sqlite中的where子句
所有的
allProdsId = new List<Products>();
首先,我提出从表中检索的产品的所有产品ID的查询:
allProdsId
作为被初始化。然后我想删除所有订单,其中ProdId
所有的allProdsId
检索。
删除查询不起作用。有人可以帮助我使用xamarin表单来实现sqlite中的WHERE IN
子句吗?
allProdsId = _con.Query<Products>("Select ProdId from Products");
con.Execute("DELETE FROM Orders WHERE ProdId = ?", allProdsId);
===========解决方案如下:
将所有希望删除的ProdId的逗号分隔的字符串进行分隔,并将其直接插入到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 + ");");