CallableStatement的入門

package com.zhao.practice726_3;java

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;sql

/**
 * DBCallableStatement類
 * @author Administrator
 *
 */
public class DBCallableStatement {
 /**
  * 驅動字符串
  */
 private static final String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加載JDBC驅動
 /**
  * 鏈接數據庫的URL
  */
 private static final String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=zhao726"; // 鏈接服務器和數據庫Northwind
 /**
  * 用戶名字符串
  */
 private static final String USER= "sa";
 /**
  * 密碼字符串
  */
 private static final String PASSWORD = "3221682";
 /**
  * 數據庫鏈接
  */
 Connection conn = null;
 /**
  * CallableStatement
  */
 CallableStatement stat = null;
 
 static {
  try {
   Class.forName(driverName);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }
 /**
  * 獲取數據庫鏈接
  * @return
  */
 private Connection getConnection(){
  try {
   
   conn = DriverManager.getConnection(dbURL, USER, PASSWORD);數據庫

   return conn;
  } catch (SQLException e) {
   
   e.printStackTrace();
  }
  return null;
 }
 /**
  * 得到CallableStatement對象
  * @param sql sql語句
  * @return CallableStatement
  */
 public CallableStatement getPreparedStatement(String sql){
  try {
   stat = getConnection().prepareCall(sql);
   System.out.println(sql);
   return stat;
  } catch (SQLException e) {
   
   e.printStackTrace();
  }
  return null;
 }
 
 
 /**
  * 關閉全部打開的數據庫鏈接
  */
 public void close(){
  try{
   if(stat != null){
    stat.close();
   }
   if(conn != null){
    conn.close();
   }
  }catch(SQLException e){
   e.printStackTrace();
  }
 }
}
服務器

 

package com.zhao.practice726_3;sqlserver

import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;測試


/**
 * 測試類
 * @author Administrator
 *
 */
public class TestCallableStatement {.net

 /**
  * @param args
  */
 public static void main(String[] args) {
  String sql = "{call sp_sum(?,?,?)}";
  DBCallableStatement db = new DBCallableStatement();
  //得到CallableStatement對象
  CallableStatement stat = db.getPreparedStatement(sql);
  
  try {
   //設置參數
   stat.setInt(1, 4);
   stat.setInt(2, 5);
   //註冊第三個參數爲int類型
   stat.registerOutParameter(3, Types.INTEGER);
   
   if(!stat.execute()){
    System.out.println(stat.getInt(3));
   
   }
  
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   db.close();
  }
  
 }server

}
對象

相關文章
相關標籤/搜索