程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java編程挪用存儲進程中獲得新增記載id號的完成辦法

java編程挪用存儲進程中獲得新增記載id號的完成辦法

編輯:關於JAVA

java編程挪用存儲進程中獲得新增記載id號的完成辦法。本站提示廣大學習愛好者:(java編程挪用存儲進程中獲得新增記載id號的完成辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是java編程挪用存儲進程中獲得新增記載id號的完成辦法正文


本文實例講述了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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved