科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual C# 2005中如何为数据表建立自动编号字段

Visual C# 2005中如何为数据表建立自动编号字段

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在实际操作中,流水号的需求是非常大的。比方说,我们经常希望订单号码或是订单上各个产品的顺序编号自动依次递增而不需要人工输入,当您遇到此类需求时,千万不要一时冲动而想以程序代码来解决,因为只要使用自动编号字段,万事大吉!

来源:soft6 2008年5月16日

关键字: 字段 自动编号 C# Windows

  • 评论
  • 分享微博
  • 分享邮件

在实际操作中,流水号的需求是非常大的。比方说,我们经常希望订单号码或是订单上各个产品的顺序编号自动依次递增而不需要人工输入,当您遇到此类需求时,千万不要一时冲动而想以程序代码来解决,因为只要使用自动编号字段,万事大吉!

ADO.NET并没有额外提供所谓的自动编号数据类型。欲使一个字段成为自动编号字段,您必须进行下列设置:

◆首先,字段的数据类型必须是Int16、Int32或Int64。如果字段的数据类型不是这三者,则会将DataType属性强制设置为Int32。

◆欲使一个字段成为自动编号字段,您必须将其AutoIncrement属性设置成true。

◆自动编号字段的内容其实都是整数,只不过每当您新增一笔数据行时,ADO.NET会自动去递增最后一笔数据行的自动编号字段的内容,并将递增后的结果填入新数据行的自动编号字段中,它不需要由您输入。

然而正由于是靠ADO.NET自动替您递增并填入,您必须使用AutoIncrementSeed属性来设置自动编号字段的种子(Seed),并使用AutoIncrementStep属性来设置自动编号字段的递增值(Increment),以便让ADO.NET有所遵循。所谓的“种子”,就是第一笔被新增至数据表之数据行的自动编号字段内容。至于“递增值”,则是每次固定要自前一笔数据行的自动编号字段内容递增多少。种子的默认值是0,递增值的默认值是1。

比方说,如果您将种子与递增值设置成1,则从第一笔开始的各笔数据行的自动编号字段内容将会是1、2、3、4……。又例如,如果您将种子与递增值分别设置成1与3,则从第一笔开始的各笔数据行的自动编号字段内容将会是1、4、7、10……。

◆由于不需要自行于自动编号字段中输入数据,因此建议您将自动编号字段的ReadOnly属性设置成true。

程序范例


 

图 5-8

图 5-8是程序范例CH5_DemoForm004.cs的执行画面,很显然,“章立民研究室”数据表的“员工号码”字段是一个种子为10000、递增值为5的自动编号字段。相关程序代码编写于窗体的Load事件处理函数中,摘要列示如下:
private void CH5_DemoForm004_Load(object sender, EventArgs e)

{
...
// 建立"员工号码"字段。

DataColumn colEmployeeId=

myTable.Columns.Add("员工号码", System.Type.GetType("System.Int32"));
// 定义"员工号码"字段的架构。

/****************************************/

// 设置"员工号码"字段是一个自动编号字段。

colEmployeeId.AutoIncrement=true;

 

// 将自动编号字段的种子设置成 10000。

colEmployeeId.AutoIncrementSeed=10000;

 

// 将自动编号字段的递增值设置成 5。

colEmployeeId.AutoIncrementStep=5;

/****************************************/
...

}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章