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

原创 2007年09月28日 13:36:00

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中如何获取刚插入记录的ID,此Id是自增的

在向一个表中插入一条记录时,往往需要更新与其相关的其他表的值,此时就需要获取刚插入记录的ID,但是直接查询是查询不到刚插入的那条记录的,这时可以有两种方法解决此问题。 一、可以采用select ma...

获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号

获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号 本文和大家讲一下如何使用ibatis来获取刚刚插入数据的ID的方法,也是在网上找到的,挺实...

ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号

Oracle设置1    2    3         4         

ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号

在数据库插入操作的时候,对自动增长ID的获取方法:(本人只试过Oracle的) Oracle设置  1    INSERT INTO TF003 (PLAN_I...

获取MySql数据库自动生成的主键值

.首现编写插入数据库记录的操作 2.修改代码如下: 我们使用重载的的方法 来生成preparedStatementpreparedStatement = conn.prep...

连接数据库执行增删改查(返回行数、主键值)所有方法

using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin...

获取当前插入数据库的主键值

在项目开发过程中,经常会遇到要由数据库返回编号给用户的情况。如用户访问时,判断该用户是否为没有编号的用户,如果没有,则需要插入用户表一第记录,并将用户编号返回给客户端。 基于这种情况,就需要用到ge...

Mybatis 获得自动生成主键值

介绍对于某些特殊需求:得到刚刚插入数据的主键值,以便对刚刚生成的数据做处理 那么,如何得到刚插入的主键值呢有两种大的方向。 第一是在数据库获得通过自带方法。在数据插入之后输入“select @@i...

mysql insert语句后如何获取insert数据的主键值自动编号

C 接口函数:   当你插入一个带有   AUTO_INCREMENT   列的表的时候,你可以用       int   mysql_insert_id(MYSQL   *mysql)  ...
  • wdt3385
  • wdt3385
  • 2012年11月28日 14:20
  • 1736

MyBatis获取自增长主键值的两种方式及源码浅析

昨天在做项目的时候遇到了一个坑,没错,就是获取MyBatis自增长主键值的坑。因为之前一直用ibatis,所以惯性的用了ibatis的写法,结果返回的值一直是1(受影响的行数)。于是去翻了翻MyBat...
  • zknxx
  • zknxx
  • 2016年12月10日 18:43
  • 4291
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP中如何取得MSSQL数据库表中自动增长的ID主键值?
举报原因:
原因补充:

(最多只允许输入30个字)