jdbc調用存儲過程

這裏使用簡單的身份驗證作爲例子,傳入名字name,密碼password作爲參數,存儲過程名爲pro_login,它有兩個輸入參數和一個輸出參數(存儲過程是沒有返回值的),我們可以通過CallableStatement對象的各個數據類型的set方法進行賦值,而後可以取得輸出參數。

**
  * 使用存儲過程驗證身份
  *
  */
 public boolean pro_valid(String name,int password){
  String sql = "{call pro_login(?,?,?)}";
  boolean flag = false;
  
  try {
   conn();
   CallableStatement csmt = conn.prepareCall(sql);
   csmt.setInt(1, password);
   csmt.setString(2, name);
   csmt.registerOutParameter(3,java.sql.Types.VARCHAR);
   csmt.executeQuery();
   csmt.executeUpdate();  
     //獲取輸出參數的值  
     String   x   =   csmt.getString(3);
     System.out.println(x);
     if(x.equals("yes")){
      flag = true;
     }
     else if(x.equals("no")){
      flag = false;
     }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
    flag = false;
   e.printStackTrace();
  }finally{
   closeConn();
  }
  return flag;
 } 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章