雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

Java編程

當(dāng)前位置:主頁(yè) > 軟件編程 > Java編程 >

java編程調(diào)用存儲(chǔ)過程中得到新增記錄id號(hào)的實(shí)現(xiàn)方法

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:Java編程|點(diǎn)擊:

本文實(shí)例講述了java編程調(diào)用存儲(chǔ)過程中得到新增記錄id號(hào)的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

關(guān)于ms sql server2000的存儲(chǔ)過程,主要作用是在表test中插入一條記錄,然后得到新增加記錄的id號(hào)。

test表三個(gè)字段:

ID:自動(dòng)增長(zhǎng)
yhm:用戶名 字符串類型
kl: 密碼   字符串類型

那么在java程序中如何調(diào)用這個(gè)存儲(chǔ)過程才能實(shí)現(xiàn),得到新增加記錄的id號(hào)

存儲(chǔ)過程如下:

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ù)來存儲(chǔ)得到的新的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 --關(guān)鍵
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, "往往外餓餓餓額"); //給第一個(gè)輸入?yún)?shù)賦值
    proc.setString(2, "1111111"); //給第2個(gè)輸入?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
   {
     //關(guān)閉數(shù)據(jù)庫(kù)聯(lián)接
     try
      {
      conn.close();
      }
     catch(Exception sqle)
      {
      //產(chǎn)生新 異常,則拋出新 程序異常
      //throw new Exception("[DBBean.executeQuery(sql,tname)]","10");
      System.out.println("出錯(cuò)了");
      }
    }
  return strFlag;
}

希望本文所述對(duì)大家Java程序設(shè)計(jì)有所幫助。

上一篇:常用Java排序算法詳解

欄    目:Java編程

下一篇:深入jetty的使用詳解

本文標(biāo)題:java編程調(diào)用存儲(chǔ)過程中得到新增記錄id號(hào)的實(shí)現(xiàn)方法

本文地址:http://www.jygsgssxh.com/a1/Javabiancheng/8496.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有