JAVA掉用存储过程

黑色紫叶 2010-01-29 01:55:34
有个存储过程:
create or replace procedure SHOP_CASH_FLOW_paysum(
sums out sys_refcursor,
ORDERAUTOID in number,
shopautoId in number,
queryDate in varchar2
)
as
begin
select sum(ORDERITEM.PAIDACCOUNT) as SUM_PAIDACCOUNT into sums
from ORDER_T left join ORDERITEM on ORDER_T.AUTOID = ORDERITEM.ORDER_FK
where ORDER_T.ORDERTYPE = 'purchase.payment'
and ORDER_T.STATUS in ('ACCEPT','TRANSIT')
and ORDER_T.ENABLE = 1
and ORDER_T.SHOPAUTOID = shopautoid
and ORDERITEM.ORDERAUTOID = ORDERAUTOID
and to_char(acceptDate,'yyyy-MM-dd')= queryDate ;
dbms_output.put_line(shopautoid ||ORDERAUTOID);

end ;
//得到一个和
然后java调用的时候
CallableStatement cstemt = conn
.prepareCall("{call shop_cash_flow_paysum(?,?,?,?)}");
cstemt.registerOutParameter(1, Types.VARCHAR);
cstemt.setLong(2, order.getAutoId());
cstemt.setLong(3, order.getShopAutoId());
cstemt.setString(4, queryDate);
cstemt.executeQuery();
String result =cstem.getString(1);

System.out.println(result);//打印这个和 但是总等于空 我在数据库测试 sums是等于300
问下高手 问题出在那
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
monkeyking1987 2010-01-29
  • 打赏
  • 举报
回复
去我资源下载个存储过程的例子看看.
这问题能解决的喽.
g_m_a_i_l 2010-01-29
  • 打赏
  • 举报
回复
sums out sys_refcursor,
改成sums out varchar2看行不行
黑色紫叶 2010-01-29
  • 打赏
  • 举报
回复
我觉得是不是在java调用的时候出了什么错
sums 已经改了 不是游标 是个varchar型
welcome163hi 2010-01-29
  • 打赏
  • 举报
回复
参数不是1
黑色紫叶 2010-01-29
  • 打赏
  • 举报
回复
用PLsql工具 测试这个存储过程 已经看见 sums 是300啦
参数没问题
samihyypia 2010-01-29
  • 打赏
  • 举报
回复
函数的参数没问题么?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧