我想筛选我的数据表。我使用datatable.Select()
进行过滤,但其中一个条件UnitPrice
始终与数据不匹配。此列UnitPrice
是数字并具有小数点,如0.1750。如何datatable.Select()筛选数字
如何修改我的代码?谢谢。
我尝试:
var result =
dt_Excel.Select(@" ID = '" + detailrow["Details_MasterID"].ToString() + "'"
+ " And PatternCode = '" + detailrow["PatternCode"].ToString() + "'"
+ " And StyleID = '" + detailrow["StyleID"].ToString() + "'"
+ " And BrandID = '" + detailrow["BrandID"].ToString() + "'"
+ " And SeasonID = '" + detailrow["SeasonID"].ToString() + "'"
+ " And UnitPrice = '" +detailrow["UnitPrice"].ToString() + "'"
再试一次:
var result =
dt_Excel.Select(@" ID = '" + detailrow["Details_MasterID"].ToString() + "'"
+ " And PatternCode = '" + detailrow["PatternCode"].ToString() + "'"
+ " And StyleID = '" + detailrow["StyleID"].ToString() + "'"
+ " And BrandID = '" + detailrow["BrandID"].ToString() + "'"
+ " And SeasonID = '" + detailrow["SeasonID"].ToString() + "'"
+ " And UnitPrice = '" +Convert.ToDecimal(detailrow["UnitPrice"]) +"'"
@mjwills:不是SQL,但是一种方法来查询内存中的集合'DataTable'。无法注入;-) –
您应该使用'Linq-To-DataTable'并将列转换为正确的类型f.e. 'DataRowExtension.Field'。 –
如果'detailrow [“PatternCode”] .ToString()'有一个单引号@TimSchmelter会发生什么?这会起作用吗?如果没有,可以做些什么来解决它(可能是https://stackoverflow.com/a/18535163/34092)? _Apologies,如果这是一个愚蠢的问题._ – mjwills