首页 | 新闻中心| 公司介绍| 产品走廊| 渠道与销售| 技术支持| 下载中心| 用户认证
蓝色快车PB俱乐部论坛--PowerBuilder MIS编程浏览:pb中调用存储过程问题
>>欢迎您,请先登陆 | 注册 | 发贴排行 | 搜索 | 帮助 | 退出
    蓝色快车PB俱乐部论坛
    PowerBuilder MIS编程
       浏览:pb中调用存储过程问题

  发表一个新主题  发表一个新投票 回复主题  您是本帖的第 1388 个阅读者
 * 贴子主题: pb中调用存储过程问题 保存该页为文件 报告本帖给版主 显示可打印的版本  把本贴加入论坛收藏夹  把本贴加入IE收藏夹 

 掉线,给我留言吧!  fengsheng
  
  
  等级:新手上路
 财产:240
 经验:180
 魅力:180
  注册:2006-6-19
  文章:2
  鉴定:保密

  给fengsheng发送一个短消息 查看fengsheng的个人资料 搜索fengsheng在PowerBuilder  点击这里发送电邮给fengsheng 引用回复这个贴子 

发贴心情 pb中调用存储过程问题
if exists(select name from syso b j e c ts where name='select_money_total_time')
drop procedure select_money_total_time
CREATE PROCEDURE Select_money_total_time @eno varchar(10),@year varchar(4),@month varchar(2)

Select round ( ( sum ( isnull ( T_Hour.h_dayhour , 0 ) ) + sum ( isnull ( h_addhour , 0 ) ) ) / 9 , 1 ) 
From T_Hour Where ( T_Hour.h_eno =@eno ) And ( T_Hour.h_year =@year ) And ( t_hour.h_month =@month )
(Select round ( sum ( T_Salary.s_quantity ) / 9 , 1 ) From T_Salary 
Where ( T_Salary.s_eno =@eno ) And ( T_Salary.s_year =@year ) And ( T_Salary.s_month =@month ) And Left ( s_pno , 1 ) ='T')
(Select round ( sum ( isnull ( T_Salary.s_price *T_Salary.s_quantity , 0 ) ) , 0 ) From T_Salary 
Where ( T_Salary.s_eno =@eno ) And ( T_Salary.s_year =@year ) And ( T_Salary.s_month =@month ) And ( Left ( t_salary.s_pno , 1 ) ='T' ) )
(Select round ( sum ( isnull ( T_Salary.s_price *T_Salary.s_quantity , 0 ) ) , 0 ) From T_Salary 
Where ( T_Salary.s_eno =@eno ) And ( T_Salary.s_year =@year ) And ( T_Salary.s_month =@month ) And ( Left ( t_salary.s_pno , 1 ) <>'T' ) )
(Select round ( sum ( isnull ( T_Salary.s_price *T_Salary.s_quantity , 0 ) ) , 0 ) From T_Salary 
Where ( T_Salary.s_eno =@eno ) And ( T_Salary.s_year =@year ) And ( t_salary.s_month =@month )) 
GO

在sqlserver2000中用查询分析器执行是可以得到五个数,但是在pb中调用的话就只能得到五个数全部为0了,应该怎么做
DECLARE select_money PROCEDURE FOR Select_money_total_time  
        @eno = :ls_eno,   
         @year = :ls_year,   
       @month = :ls_month 
   using sqlca;
execute select_money;
do while sqlca.sqlcode=0 
fetch select_money into :ld_allday, :ld_hourday,:ld_hoursum,:ld_itemsum,:ld_sum;
close select_money;
loop

如果是这样的话就可以得到一个值

DECLARE select_money PROCEDURE FOR Select_money_total_time  
        @eno = :ls_eno,   
         @year = :ls_year,   
       @month = :ls_month 
   using sqlca;
execute select_money;
do while sqlca.sqlcode=0 
fetch select_money into :ld_allday;
close select_money;
loop


发贴时间: 2006/6/19 14:45:46 保密


 掉线,给我留言吧!  sqsss
  
  
  等级:新手上路
 财产:200
 经验:160
 魅力:160
  注册:2006-9-2
  文章:2
  鉴定:保密

  给sqsss发送一个短消息 查看sqsss的个人资料 搜索sqsss在PowerBuilder  点击这里发送电邮给sqsss 引用回复这个贴子 

发贴心情 
帮顶一下

发贴时间: 2006/9/2 12:08:10 保密

页次:1/1页每页10 本主题贴数2

分页: [1]

 *快速回复:pb中调用存储过程问题 顶端 
你的用户名:   还没注册? 密码:   忘记密码?请与管理员联系
内容
  • HTML标签: 不可用
  • UBB标签: 允许
  • 贴图标签: 允许
  • Flash标签:允许
  • 表情字符转换:允许
  • 上传图片:允许
  • 最多16KB
  • 邮件回复 显示签名  [Ctrl+Enter直接提交贴子]

    ">