我在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);
答案 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 + ");");