ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:19.55KB ,
资源ID:1501638      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1501638.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Vb.netDataTable排序、检索、合并.doc)为本站会员(99****p)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

Vb.netDataTable排序、检索、合并.doc

1、这篇文章主要介绍了 C#中 DataTable 排序、检索、合并等操作实例,其中详细介绍了 DataTable.Select 的一些注意问题和使用技巧等,需要的朋友可以参考下一、排序1.获取 DataTable 的默认视图2.对视图设置排序表达式3.用排序后的视图导出的新 DataTable 替换就 DataTable(Asc 升序可省略,多列排序用“,“隔开)1)、重生法复制代码 代码如下:dstaset.Tables.Add(dt)dataset.Tables(0).DefaultView.Sort = “id desc“2)、直接法复制代码 代码如下:dv = New DataView(

2、dt)dv.Sort = “id desc“dt = dv.ToTable();3)、间接法复制代码 代码如下:dv = New DataView(ds.Tables0)dv.Sort = “id desc“dt = dv.ToTable();二、检索设置查询字符串使用 Select 方法获取到所有满足条件的数据行对象数组 (多项查询条件间,用 and 隔开)复制代码 代码如下:DataRow matches = dt.Select(“id003 and name=名字 11“);string strName = matches0“name“.ToString();三、合并假定有 2 个 Da

3、taTable:Dt1 , Dt2。表结构一样将 Dt2 接在 Dt1 后可采用此方法复制代码 代码如下:dt1.Merge(dt2);四、在 DataTable 中查询应该注意的问题完成一个查询,返回一个 DataTable 后,很多时候都想在查询结果中继续搜索。这时可以使用 DataTable.Select 方法对结果进行再查询Select 方法有 4 个重载,我们经常用到的就是 DataTable.Select(String)这个 String 的参数是查询的限定式。相当于 SQL 查询语言中的 WHERE 语句(不含 WHERE),其语法符合 SQL 语言语法。Select 方法的返回

4、的是包含查询到的数据的 DataRow,但是这个 DataRow 只是被查询的 DataTable 的一个映射,所以 DataRow 是随着 DataTable 的行变化而变化的。例如,DataTable 的行都被删除了,那么 DataRow 中的数据同样被删除了(即便是先 Select,再删除的)所以,要想把返回的 DataRow 放进数据显示控件中,需要将其放入另一个 DataTable 中,如果直接放入原 DataTable 或将原 DataTable 的行全部清除再放入查询所得的数据都是不行的,程序会显示错误,错误提示是“表中已有此行”。另外,在一个新表中插入行,不能直接用 DataT

5、able.Rows.Add(DataRow)的方式,因为这样是插入一个新表,也就是 DataRow 是空的。要用导入行的方式,DataTable.ImportRow(DataRow)。当然,前提是这个新表要有与原数据表一样的结构。复制代码 代码如下:Public Function SDEResearch(ByVal InputDT As DataTable, ByVal SearchStr As String) As DataTable用来存储再查询后的数据表 Dim ReSearchDT As DataTable = InputDT.Clone() 保证有与源数据表相同的表结构 用来存储查询

6、后返回的 datarow 数组 Dim ReSearchDR() As DataRow = Nothing Try ReSearchDR = InputDT.Select(“NAME LIKE %“ + SearchStr + “%“) 只是从数据表中映射出来 datarow(),所以不能删除原表中的行 Catch ex As Exception Return Nothing End Try For i As Int16 = 0 To ReSearchDR.Length - 1 ReSearchDT.ImportRow(ReSearchDR(i) Next Return ReSearchDT

7、End Function附:筛选 DataTable 数据的方法对 DataTable 进行过滤筛选的一些方法 Select,dataview当你从数据库里取出一些数据,然后要对数据进行整合,你很容易就会想到:复制代码 代码如下:DataTable dt = new DataTable();/假设 dt 是由“SELECT C1,C2,C3 FROM T1“查询出来的结果 for (int i = 0; i dt.Rows.Count; i+) if (dt.Rowsi“C1“.ToString() = “abc“)/查询条件 /进行操作 但这种做法用一两次还好说,用多了就累了。那有没有更好的

8、方法呢?记得 LinQ 是可以直接对 DataTable 进行查询操作的,那在.Net Framework 2.0 里,有没有类似的方法呢?答案是肯定的,就是 dt.Select(),上面的操作可以改成这样:复制代码 代码如下:DataRow drArr = dt.Select(“C1=abc“);/查询还可以这样操作:复制代码 代码如下:DataRow drArr = dt.Select(“C1 LIKE abc%“);/模糊查询 DataRow drArr = dt.Select(“abc LIKE C1 + %“, “C2 DESC“);/另一种模糊查询的方法 DataRow drArr

9、 = dt.Select(“C1=abc“, “C2 DESC“);/排序问题又来了,如果要把 DataRow 赋值给新的 DataTable,怎么赋值呢?你可能会想到:复制代码 代码如下:DataTable dtNew = dt.Clone(); for (int i = 0; i drArr.Length; i+) dtNew.Rows.Add(drArri); 但这样程序就会出错,说该 DataRow 是属于其他 DataTable 的,那要怎么做呢?很简单,这样就可以解决了:复制代码 代码如下:DataTable dtNew = dt.Clone(); for (int i = 0;

10、i drArr.Length; i+) dtNew.ImportRow(drArri); 这样就完成了。3.5 里的 DataRow有个扩展方法 CopyToDataTable()复制代码 代码如下:/* * 补充一下,还可以利用 DataView 来达到检索的目的。 */ DataTable dataSource = new DataTable(); DataView dv = dataSource.DefaultView; dv.RowFilter = “columnA = abc“; /1.过滤后直接获取 DataTable DataTable newTable1 = dv.ToTabl

11、e(); /2.设置新 DataTable 的 TableName DataTable newTable2 = dv.ToTable(“NewTableName“); /3.设置新表是否过滤重复项,拥有的列的列名以及出现的顺序 /即可以设置新表的字段。但是字段名肯定是老表 dataSource 中拥有的。 DataTable newTable3 = dv.ToTable(true, new string “columnA,columnF,columnC“ ); /4.综合了 2.3 两点。 DataTable newTable4 = dv.ToTable(“NewTableName“, true, new string “columnA,columnF,columnC“ );

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。