ADO.NET自动增量列怎么实现

发布时间:2021-12-03 15:24:30 作者:iii
来源:亿速云 阅读:158

本篇内容介绍了“ADO.NET自动增量列怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.ADO.NET表达式列

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

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

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

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

2.ADO.NET自动增量列

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

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

为表创建一个主关键字

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

3.ADO.NET给表添加数据

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

DataRow dtRow = null;  for (int i = 0; i <= 9; i++)  {  dtdtRow = dt.NewRow();  dtRow[0] = i;  dtRow[1] = "CustName" + i.ToString();  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;或者该行已被创建,但还没有被添加到表中。

“ADO.NET自动增量列怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. oracle列自增实现
  2. MySQL自动化(全量+增量)备份脚本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ado.net

上一篇:ADO.NET结构DataSet怎么使用

下一篇:怎样浅析Laravel底层原理的契约

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》