java編程調用存儲過程中得到新增記錄id號的實現方法
更新時間:2015年10月31日 15:31:24 作者:5iasp
這篇文章主要介紹了java編程調用存儲過程中得到新增記錄id號的實現方法,涉及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
解決辦法:
在查詢分析器中執(zhí)行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(); //執(zhí)行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程序設計有所幫助。
您可能感興趣的文章:
- Java Spring動態(tài)生成Mysql存儲過程詳解
- 詳解java調用存儲過程并封裝成map
- MyBatis創(chuàng)建存儲過程的實例代碼_動力節(jié)點Java學院整理
- Java調用Oracle存儲過程詳解
- Java實現調用MySQL存儲過程詳解
- 詳解Java的JDBC API的存儲過程與SQL轉義語法的使用
- Java調用MySQL存儲過程并獲得返回值的方法
- java調用mysql存儲過程實例分析
- Java中調用SQL Server存儲過程詳解
- java調用oracle分頁存儲過程示例
- java調用Oracle存儲過程的方法實例
- Java下使用Oracle存儲過程(詳解)
- Java存儲過程調用CallableStatement的方法
相關文章
IDEA報錯java.lang.OutOfMemoryError:Java?heap?space的解決辦法
這篇文章主要給大家介紹了關于IDEA報錯java.lang.OutOfMemoryError:Java?heap?space的解決辦法,出現這個問題的主要原因是項目運行時的堆內存不足引起的報錯,需要的朋友可以參考下2024-02-02
es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程詳解
這篇文章主要介紹了es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06

