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()
本文介绍了一种在JSP环境中通过调用存储过程来获取MSSQL数据库表中自动增长ID的方法。首先创建一个存储过程,用于插入记录并返回新插入记录的自增ID值。接着在JSP中使用CallableStatement执行此存储过程,并通过getInt方法获取返回的ID。
1万+

被折叠的 条评论
为什么被折叠?



