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()