JSP中如何取得MSSQL数据库表中自动增长的ID主键值?
2007-09-28 13:36
393 查看
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()
如:建一个表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()
相关文章推荐
- ibatis获取主键自动增长ID Oracle/MSSQL/mysql
- ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- 一个通用的单元测试框架的思考和设计07-实现篇-自动管理测试数据-如何为自增长主键id赋值
- ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- SQLServer如何手动设置id值(主键)的自动增长
- 如何写出一条SQL语句:取出表A中第31~40条记录(SQLServer,以自动增长的ID作为主键
- 各种数据库自动增长主键Id的sql调用命令
- ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- SQL 数据库 学习 032 identity的用法 --- 如何设置主键自动增长(用户不需要为identity修饰的主键赋值)
- 获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- 一个通用的单元测试框架的思考和设计07-实现篇-自动管理测试数据-如何为自增长主键id赋值
- oracle主键自动增长的实现 Oracle Sequence oracle maxid自动生成--ORA-00001: 违反唯一约束条件 (NAME.SYS_C005547)产生的原因之一(select * from all_cons_columns w
- 关于数据库中的主键的自动增长
- orcal数据库的主键的自动增长
- 数据库——Navicat如何设置主键自增长
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
- 主键的SQL语法 id自动增长 为主键的 删除报错
- sql语句查询数据库中的表名/列名/主键/自动增长值实例
- Oracle主键ID设置自动增长(序列+触发器)