我现在做一个插入操作,数据库设置主键ID为非空,可不是自动增长的
我怎么获取数据库表里的主键最大值,也就是说我要知道在我之前插入的那条记录的ID是多少,要不没办法插入。

解决方案 »

  1.   

    Select Max(ID)From 表
    用ADO先得到这个值,再去插入
      

  2.   

    在添加数据的存储过程中
    declare @id int
    set @id=(select isnull(max(id),0)+1 from table)
    然后用@id作为主键insert
      

  3.   

    private string GetJourNO()
    {
       SqlConnection con = new SqlConnection(strConn);
       con.Open();
       string strSQL = "select max(JournalNumber) from Journal";
       SqlCommand com = new SqlCommand(strSQL, con);
       object obj = com.ExecuteScalar();
       if (obj == null || obj.ToString() == "")
       {
          strJourNO = "0000001";
       }
       else
       {
          string strJ = obj.ToString();
          strJourNO =  (Convert.ToInt64(strJ) + 1).ToString("0000000");
       }
       con.Close();
       return strJourNO;
     }
      

  4.   

    Select Max(ID) From 表 可以区取表当前最大的值,这个值加上1就是你可以插入的新值,但这种在非并发的情况下可以,若在大并发的情况下插入的值会出现重复。