亚音速收藏

时间:2010-01-19 13:22:35

标签: subsonic

我已经编写了这段代码来生成一个集合。我试图使用subsonic.where过滤集合,但它不起作用。实际上,where子句将根据用户输入进行更改,因此我无法将where子句添加到sqlquery中,并且数据表将根据用户输入填充来自集合的不同数据。我怎么能实现这个目标。此外,我希望集合不变,以便我进一步使用它来过滤另一个where子句。 Alo我只选择了两列,但所有列都显示出来了。请帮忙。

Dim sq As SB.SqlQuery = New SB.Select("product.prodcode as 'Product Code'").From(DB.Product.Schema)
Dim wh As SB.Where = New SB.Where()
Dim prod As DB.ProductCollection = sq.ExecuteAsCollection(Of DB.ProductCollection)()

wh.ColumnName = DB.Product.ServiceColumn.PropertyName
wh.Comparison = SubSonic.Comparison.NotEquals
wh.ParameterValue = System.Decimal.One

Dim tab As DataTable = prod.Where(wh).Filter().ToDataTable()
Me.GridControl1.DataSource = tab

1 个答案:

答案 0 :(得分:1)

你正在做的事情没有多大意义 - 需要进入查询的位置,然后点击数据库 - 这就是应该工作的方式。如果您想在事后过滤,可以使用Linq的Where(),它将为您过滤列表。