关于自动(自动编号)的问题(50分)

  • 主题发起人 主题发起人 LINZONGM
  • 开始时间 开始时间
从表中取该字段最大值
如果是字符就转换成数字在+1
在转换成字符不就OK啦
我也刚刚在我的程序里实现此功能
 
+(Autoincrement
 
如果这样呢:假设输入了100个记录,编号是从1到100,这时如果删除了第5,16,88条记录,
再增加记录,编号还是从101开始,我觉得就不科学,浪费了5,16,88这3个编号,如何能
充分利用编号也应当注意,谢谢了。提点疑惑。
 
一般来说,字段的自动编号只是为了保证记录的唯一性
所以新产生的编号总是Max+1
即使以前的记录被删除,所留下的空号也不会被填补
因为即使记录已被删除,它仍然具有唯一性
access,sql server的自增量字段都是如此
 
我同意左轻侯的觀點,如何能充分利用编号,沒有必要,因為2的32次方夠用的.
 
我认为还是自己设一个字段,用程序控制它加一
 
doud,你的方法好象不行啊.
xuyouwu你的方法是怎样的呢?
zqmagic要怎样设一个字段,用程序控制它加一?
 
to LINZONGM 用aotoinc or var or max()+1
to ohsee 没有真正的删除 需要压缩
 
guying:不懂你的意思能说清楚点吗?
 
1 用 aotoinc 字段这样很省事也不用担心出错
2 用一个变量 整数或浮点 每次加一,当然要在退出时保存
浮点是为一些较长的数如 123456789123456
在PARADOX的表中没有这么长的整数只好用浮点(字符串)
i:=123456789123456
i:=i+0.000001
拷贝字符串把小数点去掉

3 select 出最大值 加一
 
我比较苯,你们能否搞个范例出来看看?:)用 aotoinc 字段虽然是省事,但是还要求从
另一台机子上的表中复制数据,而 aotoinc 字段是不能更改的不是吗,而且他的编号也是
不能变动的,是作为客户编号的,如果转移的过程中变动了,那就和客户原来的编号不一致
了,你们说该怎么办?不搞网络!要是网络的话还好。
 
如果要自动编码你要先了解你的系统是否要「前编」和「后编」两者是有差异的。
 
前编如何?后编又如何?不明白
 
我自己解决了,可不可以不给分啊?:)
 
当然不行了,这么多人回答你,太小气会没人理的.
 
我的问题都没几个人愿意回答详细一点,我给分不是有点……
你们自己说能给你们几分,我在给如何?
 
和你们开个玩笑!我这就给分
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
回复
0
查看
829
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部