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

null1027 2004-04-30 03:08:09
如题:有一个表,其中第一个字段是“编号”,是自动增长的,我怎么样才能在新建一条记录之前知道它的编号是几呢?
假如现在最后一条的编号是9,但是我把这条记录删除以后再添加记录,新的记录的编号会是10,所以就不能用查询最大值的办法了。
谢谢!!
...全文
45 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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