DataTable和DataSet

DataTable和DataSet

ID:40527535

大小:214.50 KB

页数:20页

时间:2019-08-04

DataTable和DataSet_第1页
DataTable和DataSet_第2页
DataTable和DataSet_第3页
DataTable和DataSet_第4页
DataTable和DataSet_第5页
资源描述:

《DataTable和DataSet》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DataSet和DataTable有用的方法每一个DataSet都是一个或多个DataTable对象的集合(DataTable相当于数据库中的表),这些对象由数据行(DataRow)、数据列(DataColumn)、字段名(ColumnName)、数据格(Item),以及约束(Constraint)和有关DataTable对象中数据的关系(Relations)与数据显示排序(DataView)信息组成。DataView用来在观察数据时提供排序和过滤的功能。DataColumn用来对表中的数据值进行一定的

2、规限。比如哪一列数据的默认值是什么、哪一列数据值的范围是什么、哪个是主键、数据值是否是只读等。由于一个DataSet可能存在多张表,这些表可能存在关联关系,因此用parentRelations和childRelations来表述。ParentRelations表是父表,childRelations是子表,子表是对父表的引用,这样就使得一个表中的某行与另一个表中的某一行甚至整个表相关联。1.DataTableCollection类表示DataSet的表的集合。DataTableCollectiondtc=

3、ds.Tables;DataTablecustomerTable=dtc["Product"];2.DataTable进行动态的筛选和排序调用DataTable.Select()方法,获取DataRow对象的数组。(1)获取所有行。DataRow[]rows=dt.Select();(2)按主键顺序(如没有主键,则按照添加顺序)获取符合筛选条件的行。DataRow[]rows=dt.Select("ID>52");(3)获取符合筛选条件的行,并按指定的排序条件排序。DataRow[]rows=dt.Se

4、lect("ID>52","IDDESC");(4)获取符合筛选条件和指定状态的行,并按指定的排序条件排序。stringstrExpr="ID>52";stringstrSort="IDDESC";DataRow[]foundRows=dt.Select(strExpr,strSort,DataViewRowState.OriginalRows);3.DataTable进行数据统计我们在使用SQLServer时,可以轻松地对数据进行Sum、Aver、Count等操作以获得统计结果,那么,在已经把数据检索

5、出来的DataSet(DataTable)中如何进行统计呢?特别是通过第三方接口WebService获得了DataSet,这个时候,没有办法去执行Select语句来获取这些统计,怎么办呢?办法总比问题多,其实在DataTable中也是可以进行数据统计的。下面就通过几个简单的示例,介绍一下如何无须通过逐条记录进行计算就可以轻松地获得DataTable中的记录统计结果。这里调用的是功能强大的DataTable的函数Compute。(1)函数说明:publicobjectCompute(stringstrEx

6、pression,stringstrFilter);l        strExpression:要计算的表达式字符串,基本上类似于SqlServer中的统计表达式。l        strFilter:统计的过滤字符串,只有满足这个过滤条件的记录才会被统计。(2)调用示例。假设一个产品销售表P_Sell,描述商场中各销售人员的销售记录,如表5-2所示。表5-2 产品销售表序号列名数据类型长度主键允许空说明1IDint4√ 流水号2Namevarchar50 √姓名3Sexsmallint2 √性别:0

7、为女,1为男4Birthdaydatetime8 √生日5ProductIdvarchar20 √销售产品代码6Numint4 √销售的数量7Pricedecimal9 √销售价格l        统计所有性别为女的销售员的数量:objectn=table.Compute("count(ID)","Sex=0");l        统计所有年龄大于20岁的销售员的数量:intc=(int)table.Compute("count(ID)",                 "Birthday<'"Dat

8、eTime.Today.AddYears(-20)"'");l        统计销售产品的平均价格:decimalap=(decimal)table.Compute("avg(Price)","true");l        统计产品代码为1的产品销售数量:objectm=table.Compute("sum(Num)","ProductId='sj'");l        统计所有产品的销售总金额:要统计销售总金额,table中不存在某

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。