如何取得自动增长的字段的下一个?

null1027 2004-04-30 03:08:09
如题:有一个表,其中第一个字段是“编号”,是自动增长的,我怎么样才能在新建一条记录之前知道它的编号是几呢?
假如现在最后一条的编号是9,但是我把这条记录删除以后再添加记录,新的记录的编号会是10,所以就不能用查询最大值的办法了。
谢谢!!
...全文
21 9 点赞 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
null1027 2004-05-13
抱歉,忘了结帐

谢谢大家的帮助。

还是老大 lihonggen0(李洪根,MS MVP,标准答案来了) 的办法好。崇拜ing。
  • 打赏
  • 举报
回复
Xamdf 2004-05-09
好像用ADO就能做到,我以前遇到过,现在忘了,让我想想再告诉你
  • 打赏
  • 举报
回复
null1027 2004-05-09
  • 打赏
  • 举报
回复
lihonggen0 2004-05-09
请使用[IDENT_CURRENT]
用法:SELECT IDENT_CURRENT('TABLENAME')
SELECT IDENT_CURRENT('TableName') --返回当前的最后自动编号
SELECT IDENT_INCR('TableName')--返回增量值
SELECT IDENT_SEED('TableName')--返回种子值
返回下一个自动编号:
SELECT IDENT_CURRENT('TableName') + (SELECT IDENT_INCR('TableName'))
  • 打赏
  • 举报
回复
null1027 2004-05-09
谢谢你,麻烦你了
  • 打赏
  • 举报
回复
null1027 2004-05-08
谢谢两位。
我用的sqlserver2000,它内部肯定有记录,但是就是不知道它放在什么地方以及我们怎么用程序把它取出来。

wolfhero(小小) 的方法确实可以,不过我觉得不够可靠,程序复杂的时候容易遗漏。
  • 打赏
  • 举报
回复
wolfhero 2004-04-30
发号器


新建一个表一个字段,temp
每次插入后把编号+1付给这个字段

表temp的作用就是保存最大编号

  • 打赏
  • 举报
回复
射天狼 2004-04-30
你是什么数据库!?
如果是ORACLE可以得到,因为它是用序列的方法得到自增值的!!
其他数据库不行!!!!
  • 打赏
  • 举报
回复
dofly 2004-04-30
up
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库(包含打印,安装,报表)
加入

1191

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-04-30 03:08
社区公告
暂无公告