应写成: "select sum(psend_pdu_qty) as sum_psend_pdu_qty from psend_det where psend_lot ='840032'"返回:rs("sum_psend_pdu_qty")

解决方案 »

  1.   

    to: fishzone(阿愚) 
    怎样控制sum_pdu_qty  的数据类型呢??
    谢谢指点!
      

  2.   

    wangchong(网虫) :你好,
    sum_pdu_qty 的数据类型取决于被统计的那个字段 psend_pdu_qty 的数据类型如果你对不是数值型的字段进行 sum 或则 average 统计运算,将会返回下面的错误信息:服务器: 消息 409,级别 16,状态 2,行 1
    The sum or average aggregate operation cannot take a nvarchar data type as an argument.
      

  3.   

    但现在是:
      如果出现没有符合条件时,su_qdu_qty 的值是 NULL 呀!  NULL是不能参加计算的。我该怎么办??
      谢谢! 
      

  4.   

    表psend_det中所有psend_lot='840032'地记录
      

  5.   

    那你先判断rs.Open "select * from psend_det where psend_lot ='840032'"是否有记录嘛。
      

  6.   

    rs.open "....."
    dim dblSum as double
    if rs.recordcount=0 then
        dblsum=0
    else
        dblsum=rs("sum_qdu_qty")
    end if
    rs.close
      

  7.   

    还有一个办法,你在数据库里可以设置psend_pdu_qty字段的默认值为'0'.
      

  8.   

    完整的SQL语句:select isnull(sum(psend_pdu_qty),0) as  psend_pdu_qty from psend_det where psend_lot ='840032' "这样,程序中直接引用"psend_pdu_qty "就行了。其中的"as"也可以不加。