java编程调用存储过程中得到新增记录id号的实现方法
作者:5iasp 发布时间:2022-06-09 02:55:52
标签:java,存储过程
本文实例讲述了java编程调用存储过程中得到新增记录id号的实现方法。分享给大家供大家参考,具体如下:
关于ms sql server2000的存储过程,主要作用是在表test中插入一条记录,然后得到新增加记录的id号。
test表三个字段:
ID:自动增长
yhm:用户名 字符串类型
kl: 密码 字符串类型
那么在java程序中如何调用这个存储过程才能实现,得到新增加记录的id号
存储过程如下:
CREATE PROCEDURE yh_insert
@yhm varchar(50),@kl varchar(50)
AS
begin
set nocount on
insert into test(yhm,kl) values(@yhm,@kl)
set nocount off
select newid=@@identity
end
GO
解决办法:
在查询分析器中执行sp的方法
declare @id int
exec sp_yh_insert 'tetstst','111111',@id output
select @id
修改sp如下:使用输出参数来存储得到的新的Id
CREATE PROCEDURE sp_yh_insert
@yhm varchar(50),@kl varchar(50),@id int output
AS
begin
set nocount on
insert into test(yhm,kl) values(@yhm,@kl)
set nocount off
--select newid=@@identity
select @id=@@identity --关键
end
GO
java程序如下:
public String call_sp_insert_jh(String yhm,String kl)throws Exception
{
String strFlag = "";
String strString = "";
Connection conn = null;
try
{
conn = db.getConnection();
//CallableStatement proc = conn.prepareCall(strSql);
CallableStatement proc=conn.prepareCall("{call sp_yh_insert(?,?,?)}");
proc.setString(1, "往往外饿饿饿额"); //给第一个输入参数赋值
proc.setString(2, "1111111"); //给第2个输入参数赋值
proc.registerOutParameter(3,Types.INTEGER); //处理输出参数
proc.execute(); //执行sp
int id = proc.getInt(3);//得到返回值的值
strString=Integer.toString(id);
strFlag=strString ;
}
catch (SQLException e)
{
System.out.println("proc execute error"+strString);
}
finally
{
//关闭数据库联接
try
{
conn.close();
}
catch(Exception sqle)
{
//产生新 异常,则抛出新 程序异常
//throw new Exception("[DBBean.executeQuery(sql,tname)]","10");
System.out.println("出错了");
}
}
return strFlag;
}
希望本文所述对大家Java程序设计有所帮助。


猜你喜欢
- 1.static静态变量1.静态变量被同一个类的所有对象共享2.static类变量在类加载的时候就生成使用static保存在class实例的
- 概述从今天开始, 小白我将带大家开启 Java 数据结构 & 算法的新篇章.获取哈希值hashCode()方法可以返回一个对象的哈希
- 本文实例为大家分享了在Android中如何实现下拉导航选择菜单效果的全过程,供大家参考,具体内容如下关于下拉导航选择菜单效果在新闻客户端中用
- 本文实例为大家分享了Android联系人字母排序的具体代码,供大家参考,具体内容如下实现思路:首先说下布局,整个是一个相对布局,最下面是一个
- Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边
- Unity 有点击屏幕进行移动操作,通过Input.GetMouseButtonDown(0)。如果点击到了一些UI上面会触发点击屏幕事件。
- 一、简介1.为了防止一个应用程序控制CPU而导致其他应用程序和操作系统本身永远被挂起这一可能情况,操作系统不得不使用某种方式将物理计算分割为
- Android 动态菜单先上效果图比较简单,主要就是属性动画的使用和坐标角度的小细节。实现实现效果: 图标按照路径一路缩放渐变过来即可。核心
- 最近在开发中遇到一个关于Java方法重写的一些问题,对于方法重写的用法以及可能导致的问题产生了一些思考,本文用于记录下这些想法。问题场景我们
- 声明:作者是根据 Hongyang的博客自己实践之后,根据自己的理解写的,有什么不对的地方还望指正。 先放两张效果图 一、准备由于Andro
- 在 Java SE 6 所提供的诸多新特性和改进中,值得一提的是为 Java 程序提供数据库访问机制的 JDBC 版本升级到了 4.0, 这
- 一. 概述参考开源项目https://github.com/xkcoding/spring-boot-demo在系统运维中, 有时候为了避免
- 我们在shader中对贴图处理时,有时候会有一些比较复杂的运算,比方说三角函数,开方等,一般情况下,如果可以在越上层做运算,性能会越高。C#
- TransactionTemplate的使用总结:在类中注入TransactionTemplate,即可在springboot中使用编程式事
- 在Android开发者网站的 "外部存储技术信息"文档中描述道 : WRITE_EXTERNAL_STORAGE只为设备
- RecyclerView是Android 5.0的新特性,可以直接代替ListView与GridView,并且能够实现瀑布流的布局,感觉Re
- 最近公司在新版本上有一个需要,要在首页添加一个滑动效果,具体就是仿照X宝的商品详情页,拉到页面底部时有一个粘滞效果,如下图X东的商品详情页,
- 本来准备在ListView的每个Item的布局上设置一个隐藏的Button,当滑动的时候显示。但是因为每次只要存在一个Button,发现每个
- 本节我们主要介绍 Ribbon 的一些常用配置和配置 Ribbon 的两种方式。常用配置1. 禁用 Eureka当我们在 RestTempl
- 本文实例讲述了Java数组传递及可变参数操作。分享给大家供大家参考,具体如下:方法可以操作传递和返回基本数据类型,但是方法中也可用来传递和返