现在我java代码中需要得到存储过程的返回值,但是执行代码提示该语句没有返回值:java代码如下:
String sql1 = "{call getBillResult(?)}";
CallableStatement statement = null;
for (String strings : files) {
statement = conn.prepareCall(sql1);
statement.setString(1, strings);
rst = statement.executeQuery();
System.out.println(rst.getString(1)+"-"+rst.getString(2));
}
statement.close();
存储过程是一堆逻辑判断而运行不同的select语句得到的结果集。我看网上说存储过程返回值如果是select出的结果,就不用定义output的具体字段。存储过程直接执行时能够查询出结果的,。之前没写过,有点迷茫!!
------解决思路----------------------
String sql1 = "{call getBillResult(?)}";
CallableStatement statement = null;
for (String strings : files) {
statement = conn.prepareCall(sql1);
statement.setString(1, strings);
rst = statement.executeQuery();
while(rset.next()) {
System.out.println(rst.getString(1)+"-"+rst.getString(2));
}
}
statement.close();
改为这样试试
------解决思路----------------------
推荐你看看这篇文章http://wenku.baidu.com/link?url=n9DRPfwU8M84212ENMqAUzzLfYM6pKn2Ij9e_v9C9PQiDPpaL4Nvy8Ig6gNHZO8XgyNKxQrBUTfQg7-tZLBEwCp-WZR_AxU6yTiZ8G3z9am,感觉你的情况应该是使用游标的部分