如何在已经打开的数据源在筛选数据?
            string c = "SELECT TOP 6 SendTime, [Sort], [Id], Left([Subject],24) AS Subject, [Addresser], [SendTime], [ViewAmount] FROM [document_News] WHERE Sort=0021 ORDER BY [Id] DESC";
这是在C#中已经打开的了的数据库,我现在要在已经打的数据中在筛选数据,应该怎样做?

解决方案 »

  1.   

    SQL语句查询后得到一个DataSet ds ,
                     DataView dv=ds.Table["tablename"].DataView;
                     再用dv的RowFilter属性筛选就OK了
      

  2.   

    楼上的观点可以!
    我还可以提供几种方法:
    主要是利用DataTable;
    首先你当然要把数据都装到一个DataTable中,
    SqlDataAdapter sda=new SqlDataAdapter (strSql,strCon);
    其中:strSql就是你的string  c    中的c,strCon是你连接数据库的语句。DataSet ds=new DataSet();
    sda.Fill(ds,"MyTable");
    现在你已经可以把你的数据都装到一个名叫"MyTable"的DataTable中了
    下面来筛选:1。你可以筛选一行:用Row 的Find()方法。
    加入你想要选的那行的主键为"Hello“
    你的代码可以如下:
    DataRow row=ds.Tables["MyTable"].Find("Hello");
    这样你就找到了你想想要的一行了!!!2.还有:
    你可以用DataTable的Select方法.
    假如你想查询: 所有在北京但是不在武汉的人DataRows row=ds.Tables.Select("City='Beijign' and City<>'Wuhan'");
    这样就可以了!!!
    还有很多的方法,你想了解的更多,可以留言给我。
    希望可以帮助你
      

  3.   

    如果在WinForm中,用BindingSource綁數據源的話,還可以用BindingSource的Filter