Vb.net 可以在数据表查询中使用变量吗?

Vb.net 可以在数据表查询中使用变量吗?,vb.net,datatable,Vb.net,Datatable,我必须根据某些条件查询数据表 按DataRow()调整行数=dtPeriodFrom.Select(“值=9”) 我想按变量值进行筛选,是否可以在这个select查询中使用变量?如果我对您解释得不好的问题的解释是正确的,那么您就忽略了显而易见的问题。Select方法需要一个String,但是没有什么可以阻止您从您想要使用的任何部分构造该String。您通常如何从零件构造字符串?在此处执行此操作,例如,Dim rows=dtPeriodFrom。选择($“Value={Value}”)。如果要筛选

我必须根据某些条件查询数据表

按DataRow()调整行数=dtPeriodFrom.Select(“值=9”)


我想按变量值进行筛选,是否可以在这个select查询中使用变量?

如果我对您解释得不好的问题的解释是正确的,那么您就忽略了显而易见的问题。
Select
方法需要一个
String
,但是没有什么可以阻止您从您想要使用的任何部分构造该
String
。您通常如何从零件构造
字符串
?在此处执行此操作,例如,
Dim rows=dtPeriodFrom。选择($“Value={Value}”)
。如果要筛选,请使用筛选器:
[DataTable]。DefaultView.RowFilter=$“Value={Variable}”
。如果您有一个名为
Value
的列,即。但是您可能有一个值为
9
的变量。因此
[DataTable].DefaultView.RowFilter=$“[Field Name]={Variable}”
@Jimi,这取决于结果的使用方式。如果
数据表
绑定到UI,那么您的代码将影响显示的内容。这可能是必要的,也可能不是。可能所有记录都应该显示在UI中,但子集需要在代码中处理。但是,无论哪种方式,
Select
方法和
RowFilter
属性的筛选表达式都以完全相同的方式工作,因此相同的原则适用于两者。@jmchiliney是的,这完全取决于应该发生什么:
Select()
返回数据行的集合,当
RowFilter
将过滤器应用于当前数据视图时,它不会创建新对象。新的子集和过滤器不是一回事。正如您所提到的,后者将影响当前视图。OP应该澄清真正的意图,这段代码的用途是什么,以便有一个更集中的解决方案。@jmchiliney当然,与结果相关的不是同一件事:一个返回新对象,另一个在内部应用过滤器,不创建新对象,过滤器可以随时删除或无缝替换。这取决于用例,IMO应对此进行澄清。