以前用的是Statement 和 PreparedStatement
调用存储过程就用到
CallableStatement cstmt =conn.prepareCall("call p(?,?,?,?)");
声明 一个叫p的存储过程,需要4个参数 其中1,2为输入参数
3输出参数,4为输入输出参数(在sqlserver里没有这样的参数)
是输出参数的 我们在程序里要说明一下如:
cstmt.registerOutParameter(3,Types.INTEGER)
表明这个是第3个问号上面的,切类型是int 型号的
cstmt.cstmt.registerOutParameter(4,Types.INTEGER)
输入输出参数也必须说明
cstmt.setInt(1,3);
cstmt.setInt(2,3);
cstmt.setInt(4,3); 把3个输入参数给值;
cstmt.execute();执行存储过程。
System.out.println(cstmt.getInt(3));
System.out.println(cstmt.getInt(4));
现在就可以用cstmt.get方法来取值了
最后cstmt.close要关闭