您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> jsp编程 >> 正文

JSP中如何取得MSSQL数据库表中自动增长的ID主键值?

作者:佚名    责任编辑:admin    更新时间:2022-06-22

JSP中如何取得MSSQL数据库表中自动增长的ID主键值?

如:建一个表student有属性列userid,username其中userid为INT类型只读自动加1的主键(也就是每插入一条记录都会自动加1),那么如何在JSP中得到当前插入行的userid值(比如:我向表里插入了三条记录,在我插入第三条记录时userid的值应为3,那么如何得到这个3)?


先创建存储过程:
CREATE PROCEDURE addrec
  (
  @OutID int output,
  @Name varchar(25)
  )
AS
  Declare @ID int
  insert into nametable(Name)
  values(@Name)
  select @ID=@@IDENTITY
  select @OutID=@ID
  GO

然后这样用:
  CallableStatement stmt=con.prepareCall("{call addrec(?,?)}");
  stmt.registerOutParameter(1,Types.INTEGER,1);
  stmt.setString(2,"Name.");
  stmt.execute();
  int id=stmt.getInt(1);
  stmt.close()