如题:有一个表,其中第一个字段是“编号”,是自动增长的,我怎么样才能在新建一条记录之前知道它的编号是几呢?
假如现在最后一条的编号是9,但是我把这条记录删除以后再添加记录,新的记录的编号会是10,所以就不能用查询最大值的办法了。
谢谢!!

解决方案 »

  1.   

    你是什么数据库!?
    如果是ORACLE可以得到,因为它是用序列的方法得到自增值的!!
    其他数据库不行!!!!
      

  2.   

    发号器
    新建一个表一个字段,temp
    每次插入后把编号+1付给这个字段表temp的作用就是保存最大编号
      

  3.   

    谢谢两位。
    我用的sqlserver2000,它内部肯定有记录,但是就是不知道它放在什么地方以及我们怎么用程序把它取出来。wolfhero(小小) 的方法确实可以,不过我觉得不够可靠,程序复杂的时候容易遗漏。
      

  4.   

    好像用ADO就能做到,我以前遇到过,现在忘了,让我想想再告诉你
      

  5.   

    请使用[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'))
      

  6.   

    抱歉,忘了结帐谢谢大家的帮助。还是老大 lihonggen0(李洪根,MS MVP,标准答案来了) 的办法好。崇拜ing。