首页 > 数据库技术 > 详细

使用JDBC获取SQL自动增长的ID

时间:2015-07-01 09:55:51      阅读:312      评论:0      收藏:0      [点我收藏+]

在项目开发中,遇到一个问题,先添加一条记录然后想立刻获取这条记录的ID值,ID由SQLServer自动增长的,如果先插入再查询的话,需要另外执行一条查询ID的SQL语句,因此有了下面的方法:

1、使用SQLServer自带的identity功能:

sql="insert into dbo.OBDCustomer values(?,?,?,?,?,?) select @@IDENTITY as ID";

2、要执行这条语句,应该是查询,而不是更新,因此需要调用executeQuery()方法

3、执行时候遇到问题了,提示这个方法没有返回结果集,网上找了一下办法,在前面加上SET NOCOUNT ON:

sql="SET NOCOUNT ON insert into dbo.OBDCustomer values(?,?,?,?,?,?) select @@IDENTITY as ID";

4、再次执行,成功返回ID值

 

 

备注:

网上还有其他方法,例如通过statement来获取、存储过程来获取等等,个人觉得上面这个identity方法是比较简单的,不知道其他数据库是否支持。。

 

使用JDBC获取SQL自动增长的ID

原文:http://www.cnblogs.com/ichemmwangd/p/4612373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!