调用存储过程

/**************调用存储过程****************/
 public static void main(String[] args) {
  try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  Connection conn = null;
  CallableStatement callStm = null;
  try {
   conn = DriverManager.getConnection(
     "jdbc:sqlserver://localhost:1434;databaseName=StuDB", "sa",
     "sasa");
   //创建执行存储过程命令对象
   callStm = conn.prepareCall("{call proc_getStudentNameByNum(?,?)}");//(?,?)表示存储过程的参数
   callStm.setInt("stuNum", 123906);//给输入参数赋值
   callStm.registerOutParameter("stuName", java.sql.Types.NVARCHAR);//设置输出参数
   callStm.executeUpdate();//执行存储过程
   String result = callStm.getString("stuName");//获取输出参数的值
   System.out.println(result);
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   try {
    callStm.close();
    conn.close();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }

posted @ 2014-07-04 23:58  单方面  阅读(231)  评论(0编辑  收藏  举报