初学者必看ADO.NET基础篇
创始人
2024-06-10 03:01:46
0

ADO.NET的功能给大家向深入的了解一下吗?本文就表达式列、自动增量列、给表添加数据、列状态四个方面和大家总结一下,希望通过看过本文可以给大家帮助。

1.ADO.NET表达式列

ADO.NET还允许用户创建和定义表达式列。ADO+中的表达式用于进行:过滤, 计算, 汇总列信息
要创建一个表达式列,需要将DataType属性设置为适合该表达式返回数值的类型;然后将Expression属性设为一个有效的表达式:

  1. DataColumn dc = New DataColumn;  
  2. dc.DataType = System.Type.GetType("System.Currency");  
  3. dc.Expression = "total * .086"

你还可以使用Add方法来创建一个表达式列。例如,下面的代码添加了一列,根据客户购买金额的10%计算折扣。这个表达式将名为“Purchases”的列乘以10%。

当这个表加入数据后,这个列的数值将是total列中数值的10%

  1. DataColumn dc = New DataColumn;  
  2. dcdt.Columns.Add("rectg", System.Type.GetType("System.Double"), "total * 0.1"); 

2.ADO.NET自动增量列

DataColumn的另一个特性是其能够作为自动增量列的能力。自动增量列在添加新列时,自动增加该列中的数值。要创建一个自动增量列,需要将这个列的AutoIncrement属性设为真(true)。一旦设置了这个属性,该列开始时将使用该列的AutoIncrementSeed属性中定义的数值。在添加了一列后,自动增量列的数值将按该列的AutoIncrementStep属性中的数值作为步长递增。

  1. dc = dt.Columns.Add("CustID",System.Type.GetType("System.Int32") );  
  2. dc.AutoIncrement = true;  
  3. dc.AutoIncrementSeed = 1;  
  4. dc.AutoIncrementStep = 1

为表创建一个主关键字

  1. dt.PrimaryKey = new DataColumn[] {dt["CustID"]}; 

3.ADO.NET给表添加数据

现在已经有一个有列和关键字的表,那么可以添加一些数据了。

  1. DataRow dtRow = null;  
  2. for (int i = 0; i <= 9; i++)  
  3. {  
  4. dtdtRow = dt.NewRow();  
  5. dtRow[0] = i;  
  6. dtRow[1] = "CustName" + i.ToString();  
  7. dt.Rows.Add(dtRow);  

4.ADO.NET列状态

每个数据行(DataRow)都有一个RowState(列状态)属性,可以用这个属性来确定它的状态。

在上面的例子中,新建行的RowState属性被设为Detached(分离);一旦使用Add方法将它添加到RowsCollection中,RowState属性就变为New。
RowState 描述
Unchanged 自上一次调用AcceptChanges后,没有发生变化。
New该行已经被添加到表中,但还没有调用AcceptChanges。
Modified 该行的某些元素已被改变。
Deleted已使用Delete方法将该行从表中删除。
Detached 或者该行已被删除,但还没有调用AcceptChanges;或者该行已被创建,但还没有被添加到表中。

【编辑推荐】

  1. LINQ to SQL查询分析
  2. LINQ查询架构简单介绍
  3. LINQ to SQL映射关系概述
  4. LINQ To SQL对象模型浅析
  5. LINQ to SQL映射列描述

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...