JDBC如何调用存储过程(需要传IN参数,类型为Vector)

[复制链接]
查看11 | 回复1 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
场景:(模拟发货单填写操作)
1 用户在【发货单】界面上半部分填写表头数据部分,如客户信息、地址信息、币种信息、付款条款等等属于主表的信息
2 用户在【发货单】界面下半部分填写表体数据部分,比如存货的若干信息如存货代码、名称、标价、折扣、净价、数量、仓库等行信息
用户点【保存】后呈现需要做:
1 根据步骤1的数据创建发货单表头数据
2 根据步骤2的数据创建发货单表体的数据
因【保存】按钮的程序逻辑想写在Oracle的存储过程,因此表头数据和表体数据将会作为参数传入存储过程,比如表头类DeliveryOrderMas(),
表体明细会是个Vector对象,每个element存的DeliveryOrderItem(),这样的话存储过程auto_create_do就需要接收两个复合类型的参数,
比如(RECORD类型IN参数,NESTED TABLE类型IN参数,VARCHAR2类型OUT参数--处理结果),这在PL/SQL里面实现起来不算困难,但是前端
jdbc调用的时候如何调用CallableStatement的setXXX()?并且其中该放什么值呢?
过程auto_create_do()需要完成创建表头、循环创建表体明细数据,调用相关的package自动过账,过账成功后调用package发送系统短信至
相关人员(比如通知销售人员货已发可催帐),若销售人员目前离线则调用另外的package发送手机短信通知相关人等。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
必须到数据库中定义一个与类型Vector对应的数据类型。你的Vector是用于存放数据的,每个数据都有数据类型,你可以考虑用集合或者记录来对应。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行