C#如何实现自动编号

sosguest 2009-08-28 10:39:23
C# 如何实现为记录自动编号
如,动态设定起始编号0001
使每条记录的编号递增1.
当添加新记录的时候自动获取一个新的编号.
望能给出具体实现代码.
...全文
1233 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawnbear 2009-08-29
  • 打赏
  • 举报
回复
自己写方法 获取前一个值 加一 设置当前值
hibyr 2009-08-29
  • 打赏
  • 举报
回复
SQL存储过程主要语句:

定义:MyID varchar(4)=null

......
......
select @MyID=Max(MyID)from MyTable--获取最大编号
if(@MyID is null)
set @MyID='0001'--生成自动编号
else
set @MyID=cast(cast(substring(@MyID,1,4) as int)+1 as varchar(4)--编号自增1
......
......
hello101105 2009-08-29
  • 打赏
  • 举报
回复
实现过程如下
1、获取记录中的最大编号
2、类型转换
3、最大编号+1
4、写入记录中
ATM053 2009-08-29
  • 打赏
  • 举报
回复
如果要删除其中一条后重新排列,那这种序号肯定不能写到数据库里,楼主如果想实现,可以给显示数据的控件再添加一列用于显示序号,
序号的赋值就为this.控件.coulums[i].value = padL(控件.Rowindex,'0')
zhengrongzrflyzr 2009-08-29
  • 打赏
  • 举报
回复
一般都用SQL自增的吧……要有前导零的话在读出来的时候转化下+个常量“000”,至于删除其中一条再重新排列,SQL好像自增好像不会!~如果用方法的话就向前几楼说的……10W条……读死……!~增改应该没问题……呵呵!我也是初学者,随便说说!~ ^ ^
ztwz 2009-08-29
  • 打赏
  • 举报
回复
删除一个编号为什么要改变其它编号的值?如果这个编号做为主键的话他应有的功能就只有一个,哪就是维一性!
如果你想排序的话完全可以跟据其它字段来,比如说添加时间,改变其它编号没有什么意意,完全是浪费时间,浪费体力!
zhoujk 2009-08-29
  • 打赏
  • 举报
回复
记录是与位置无关的,只是在需要进行某种排列时对某个字段排序一下,特别对于大型数据库,最好使用结构较为松散的思路,要不会出问题的,所以还是使用DBMS的自增吧
Skyhoo 2009-08-29
  • 打赏
  • 举报
回复
看你要实现什么,一般用数据库的自增啦
liffe 2009-08-28
  • 打赏
  • 举报
回复
邹建的那本Sql2000有写,你可以下载来看看。单据一般是用数据库来实现编号的

要么去数据库版块问问
qqiuzaihui 2009-08-28
  • 打赏
  • 举报
回复
设计一个20位的编号, 取值为: 年月日时分秒毫秒+3位随机数
这样既实现了递增, 也不会有重复.
pcqpzq 2009-08-28
  • 打赏
  • 举报
回复
虽然你只要一条SQL语句搞定,但这样做确实不好
pcqpzq 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 huyou1983218 的回复:]
如果我数据库里有10W条记录,每次删除一条都要自动更改99999条编号,这样做好吗?
[/Quote]

强烈建议你别做傻事
huyou1983218 2009-08-28
  • 打赏
  • 举报
回复
如果我数据库里有10W条记录,每次删除一条都要自动更改99999条编号,这样做好吗?
huyou1983218 2009-08-28
  • 打赏
  • 举报
回复
这种做法不好,如编号只是页面级的用个
比如之前删除第4条
int rowindex=4;
for(int i=rowindex;i<控件.rows.count;i++)
{
控件.rows[i].cells["编号"].Text="000"+i;
}
pcqpzq 2009-08-28
  • 打赏
  • 举报
回复
数据集本身也支持自增字段
pcqpzq 2009-08-28
  • 打赏
  • 举报
回复
此外SQL Server和Access数据库本身就有自增字段
pcqpzq 2009-08-28
  • 打赏
  • 举报
回复
private int curNum=1;

public int GetNewNum()
{
return curNum++;
}

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧