java调用存储过程的问题!!又搞到晚上11:00那位帮帮忙看看
存储过程很简单,就是一个简单查询,不过是数据库采用的SQLSERVER所以,找不到jdbc中调用存储过程的例子,那位帮忙看看!!
我的程序如下
public ResultSet callReturn(String str){
init();//建立连接
try{
stmt = conn.prepareCall(str);
System.out.print("执行SQL语句:"+str);//测试
stmt.registerOutParameter(1,java.sql.Types.VARCHAR);
stmt.executeQuery();
return (ResultSet)stmt.getObject(1);
}catch(SQLException e){
e.printStackTrace();
}
System.out.print("执行失败!");
return null;
}
这个函数是用来调用存储过程的,返回一个ResultSet,可是总是出现NullPointerException,大家帮忙看看为什么,我的存储过程已经在DBMS上运行过了,没有问题
调用函数如下:
public static LinkedList getOpertorInfoByOwnerID(String value){
String sqlCall="{call sky.dt_selectOperatorByOwnerID ("+value+")}";
System.out.print("执行SQL语句:"+sqlCall);
ResultSet r=conn.callReturn(sqlCall);
System.out.println(sqlCall);
LinkedList list=new LinkedList();
try{
while (r.next()) {
list.add(new OwnerInfo(r.getString(1), r.getString(2)));
}
return list;
}catch(SQLException e){
e.printStackTrace();
}return null;
}