[datatable]关于在DataTable中执行DataTable.Select(条件)返回DataTable的解决方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
009-04-2611:09关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法
在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,其实只要用.NET 类库中提供的DataView类的强大功能(主要是用它的RowFilter属性),就能方便地解决这类查询问题。
常有网友在网上询问怎么在DataTable中执行DataTable.Select("条件")返回DataTable,今天我在这里给个解决方法给大家参考:
代码如下
/**////
///执行DataTable中的查询返回新的DataTable
///
///源数据DataTable
///查询条件
///
private DataTable GetNewDataTable(DataTable dt,string condition)
{
DataTable newdt = new DataTable();
newdt=dt.Clone();
DataRow[] dr = dt.Select(condition);
for(int i=0;i { newdt.ImportRow((DataRow)dr[i]); } return newdt;//返回的查询结果 } 例:DataRow dr=dt.Select(学号=108)[0]; string sss = dr[姓名].ToString(); 例:DataRow[] rows = dt.Select(学号='108'); if(rows.Length 0) { string sss = rows[0][姓名].ToString(); } 例:Select后,框架不会变的,Select只是筛选记录,不会改变列。 string name=string.Empty; DataRow[] rows = dt.Select(学号=108); if (rows!=null rows.Length0) name=rows[0][姓名].ToString();//第0行即返回值的第一行,即返回结果 例:string sss = dt.Select( 姓名= from Tables[0] where [学号]=108).ToString();