如何在已经打开的数据源在筛选数据?
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#中已经打开的了的数据库,我现在要在已经打的数据中在筛选数据,应该怎样做?
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#中已经打开的了的数据库,我现在要在已经打的数据中在筛选数据,应该怎样做?
DataView dv=ds.Table["tablename"].DataView;
再用dv的RowFilter属性筛选就OK了
我还可以提供几种方法:
主要是利用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'");
这样就可以了!!!
还有很多的方法,你想了解的更多,可以留言给我。
希望可以帮助你