程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 在JAVA中調用存儲過程(sqlserver篇)

在JAVA中調用存儲過程(sqlserver篇)

編輯:關於SqlServer

今天來總結一一關於在sqlserver中存儲過程的調用,也好與昨天的oracle作一個對比。我覺得在sqlserver中調用簡單些,至少相對於Oracle 來說~

  還是用具體的例子說吧

  先來個查詢的

  建立存儲過程sel_book

  create procedure sel_book

  select * from book;

  解析部分與Oracle的差不多。因為都是用Java來嘛,唉,是不是又費話了。

為了與上篇Oracle的形成對照,來個通俗一點的步驟~

1.load the JDBC Driver(加載驅動)

2.Establish the Database connection(建立連接)

3.create a CallableStatement (創建一個callablestatement對象)

4.excute a Quary(執行查詢)

5.process the results(處理結果集)

6.close the Connection(關閉連接)

............//代碼如下 

Class.forName("com.mircosoft.jdbc.sqlserver.SQLServerDriver");//加載驅動

String URL="jdbc:microsoft:sqlserver://localhost:1433";

Connection conn=DriverManager.getConnection(URL,"YY","1314");//建立連接

CallableStatement cs=conn.prepareStatement("{call sel_book}");

ResultSet rs=rs.executeQuary();

while(re.next()){

int id=rs.getId("id");

String name=rs.getName("name");

String aurhtor=rs.getAuthor(''author");

System.out.println(id+"\t"+name+"\t"+author+"\t");

cs.close();

conn.close();

相比Oracle中對查詢存儲過程的調用,在sqlserver簡單多了吧~

下面寫一個add    這個相對查詢而言可能難一點,不過應該說還是很簡單的,只要了解存儲過程的編寫,解析都是一樣的.

//存儲過程   add_book

create procedure  add_book

@book_id int

@book_name varchar(20)//在mssql中一定要記得寫長度,而Oracle中則千萬不能寫,寫了就報錯.

@book_author varchar(20)

if   exists(select name from book where name = @ book_name);

begin

    raiserror('不能重復輸入',14,1);

 return;

else

insert into book(id,name,author)values(@book_id,@book_name,@book_author);

//解析代碼

public void (int id,String name,String aurhor){

Class.forName("com.mircosoft.jdbc.sqlserver.SQLServerDriver");//加載驅動

String URL="jdbc:microsoft:sqlserver://localhost:1433";

Connection conn=DriverManager.getConnection(URL,"YY","1314");//建立連接

CallableStatement cs=conn.prepareStatement("{call add_book(?,?,?)}");

cs.setInt(1,id);

cs.setString (2,name);

cs.setString(3,author);

cs.execute();//到這裡數據就加進去了哦~

cs.close();    //不過要記得關閉連接

conn.close();

//別的更新和刪除解析都是一樣的,就不多說了.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved