用于为表设置下一个AutoNumber的算法

时间:2014-11-07 12:29:57

标签: c# algorithm autonumber

我有一个名为AutoNumber的表,其中包含

等字段
    Public Class AutoNumber{
    int Id,
    Bool Autogenerate 
    Book IsLocked,
    Int IncrementValue,
    String Prefix,
    String Postfix,
    int IdentityValue
    string ModuleName
    }

我在此表中存储模块的设置。在此表中,我存储模块的Next AutoNumber。因此,每当我创建Customer时,我都会触发查询并获取AutoNumber的值。

现在,单个创建和单个保存可以正常工作,我可以检查身份值并在保存客户后设置NextAutoNumber。

我有一些功能,用户可以一次创建多个客户,指定计数为10,因此它会为客户创建暂定的autoNos,确保其不重复。

但是有一个设置是autogenerate是真的并且islocked是假的,这种类型会破坏我的代码。

启用此设置后,我无法设置下一个自动编号。 用户根据自己的意愿更改autoNos,我无法确定该用户是否输入 新值或他的系统生成,因此无法设置下一个autoNumber

1 个答案:

答案 0 :(得分:0)

这不是答案。但我想给你一个建议,你可以使用静态计数器。此计数器将继续由所有用户更新,然后在某些事件上,您可以在现有数据库中添加该计数器后重新开始计数。通过这种方式,您可以最小化对数据库的调用。