如何在使用数据视图时编写过滤条件

时间:2009-11-20 07:20:54

标签: asp.net sql

我有一个包含所有这些记录的数据表(参见SQL查询)。而不是编写新的库存过程,如何使用dataview在我的数据表中过滤这个条件?

SELECT * FROM students WHERE class='10'
AND Names IN ('kiran', 'manju', 'ram' , 'peter')AND Language = 'english'

2 个答案:

答案 0 :(得分:2)

如果您在问题中使用SQL来创建新视图,则可以针对该视图运行其他查询并自动完成该过滤:

CREATE VIEW MYVIEW AS 
SELECT * FROM students WHERE class='10'
  AND Names IN ('kiran', 'manju', 'ram' , 'peter')
  AND Language = 'english'

答案 1 :(得分:1)

有一篇很好的文章如何使用dataview there过滤数据。

您必须使用Dataview的RowFilter属性。

private void MakeDataView() 
{
    DataView view = new DataView();

    view.Table = DataSet1.Tables["Suppliers"];
    view.AllowDelete = true;
    view.AllowEdit = true;
    view.AllowNew = true;
    view.RowFilter = "City = 'Berlin'";
    view.RowStateFilter = DataViewRowState.ModifiedCurrent;
    view.Sort = "CompanyName DESC";

    // Simple-bind to a TextBox control
    Text1.DataBindings.Add("Text", view, "CompanyName");
}

注意:您必须注意,因为过滤和排序将在客户端完成,如果您有太多行,它可能执行得非常糟糕。