java編程調(diào)用存儲過程中得到新增記錄id號的實現(xiàn)方法
本文實例講述了java編程調(diào)用存儲過程中得到新增記錄id號的實現(xiàn)方法。分享給大家供大家參考,具體如下:
關于ms sql server2000的存儲過程,主要作用是在表test中插入一條記錄,然后得到新增加記錄的id號。
test表三個字段:
ID:自動增長
yhm:用戶名 字符串類型
kl: 密碼 字符串類型
那么在java程序中如何調(diào)用這個存儲過程才能實現(xiàn),得到新增加記錄的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如下:使用輸出參數(shù)來存儲得到的新的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, "往往外餓餓餓額"); //給第一個輸入?yún)?shù)賦值 proc.setString(2, "1111111"); //給第2個輸入?yún)?shù)賦值 proc.registerOutParameter(3,Types.INTEGER); //處理輸出參數(shù) 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 { //關閉數(shù)據(jù)庫聯(lián)接 try { conn.close(); } catch(Exception sqle) { //產(chǎn)生新 異常,則拋出新 程序異常 //throw new Exception("[DBBean.executeQuery(sql,tname)]","10"); System.out.println("出錯了"); } } return strFlag; }
希望本文所述對大家Java程序設計有所幫助。
- Java Spring動態(tài)生成Mysql存儲過程詳解
- 詳解java調(diào)用存儲過程并封裝成map
- MyBatis創(chuàng)建存儲過程的實例代碼_動力節(jié)點Java學院整理
- Java調(diào)用Oracle存儲過程詳解
- Java實現(xiàn)調(diào)用MySQL存儲過程詳解
- 詳解Java的JDBC API的存儲過程與SQL轉(zhuǎn)義語法的使用
- Java調(diào)用MySQL存儲過程并獲得返回值的方法
- java調(diào)用mysql存儲過程實例分析
- Java中調(diào)用SQL Server存儲過程詳解
- java調(diào)用oracle分頁存儲過程示例
- java調(diào)用Oracle存儲過程的方法實例
- Java下使用Oracle存儲過程(詳解)
- Java存儲過程調(diào)用CallableStatement的方法
相關文章
C語言中下標與指針的轉(zhuǎn)換以及指向指針的指針的例子
這篇文章主要介紹了C語言中下標與指針的轉(zhuǎn)換以及指向指針的指針的示例,是C語言入門學習中的基礎知識,需要的朋友可以參考下2015-11-11淺析SpringBoot微服務中異步調(diào)用數(shù)據(jù)提交數(shù)據(jù)庫的問題
這篇文章主要介紹了SpringBoot微服務中異步調(diào)用數(shù)據(jù)提交數(shù)據(jù)庫的問題,今天本文涉及到的知識點不難,都是很簡單的crud操作,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07關于TransmittableThreadLocal線程池中線程復用問題的解決方案
這篇文章主要介紹了關于TransmittableThreadLocal線程池中線程復用問題的解決方案,線程池復用線程,如果子線程執(zhí)行完未移除上下文,則會導致后續(xù)線程可以取到之前線程設置的屬性,需要的朋友可以參考下2023-11-11java高并發(fā)ScheduledThreadPoolExecutor類深度解析
這篇文章主要為大家介紹了java高并發(fā)ScheduledThreadPoolExecutor類源碼深度解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11mybatis使用collection嵌套查詢的實現(xiàn)
本文主要介紹了mybatis使用collection嵌套查詢的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05SpringBoot中讀取application.properties配置文件的方法
這篇文章主要介紹了SpringBoot中讀取application.properties配置文件的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-02-02