zoukankan      html  css  js  c++  java
  • 使用JDBC获取SQL自动增长的ID

    在项目开发中,遇到一个问题,先添加一条记录然后想立刻获取这条记录的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方法是比较简单的,不知道其他数据库是否支持。。

  • 相关阅读:
    3.13作业 制作网页布局
    3.11 框架和样式表
    表单
    3.8学习记录
    第一次作业
    数据库增删改查
    数据库三大范式
    数据库中的时间戳
    数据库的主键与外键
    登录页面
  • 原文地址:https://www.cnblogs.com/ichemmwangd/p/4612373.html
Copyright © 2011-2022 走看看