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

  *为必填项目 常规论坛,只允许注册会员发言

用户名   *您没有注册?
密码   *忘记密码?请与管理员webmaster@besoft.com.cn联系
主题标题   不得超过 50 个汉字
当前心情
  • 将放在帖子的前面
  •                           
                              
    内容

    在此论坛中
  • HTML标签: 不可用
  • UBB标签: 允许
  • 帖图标签: 允许
  • Flash标签: 允许
  • 表情字符转换: 允许
  • 上传图片: 允许
  • 最多16KB

  • 粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字
    字体:      字体大小    颜色:
    点击表情图即可在帖子中加入相应的表情
     
    选项

    是否显示您的签名?
    有回复时使用邮件通知您?


     

    --  作者:fengsheng
    --  发布时间:2006/6/19 14:45:46

    --  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


    --  作者:sqsss
    --  发布时间:2006/9/2 12:08:10

    --  
    帮顶一下

    ">