以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQL语句后台统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93864)

--  作者:yancheng
--  发布时间:2016/12/8 18:05:00
--  [求助]SQL语句后台统计

            \'Dim cmd4 As New SQLCommand
            \'cmd4.C
            \'cmd4.CommandText = "Sel ect  已付金额,欠款金额,合同编号 From [采购入库] Where 合同编号= \'" & e.DataRow("合同编号") & "\'" \'注意要包括主键列
            \'Dim dt4 As DataTable = cmd4.ExecuteReader() \'注意可选参数设置为True
            \'If dt4.DataRows.Count > 0 Then 
                \'dr("材料费") = dt4.Compute("Sum(已付金额)"," 合同编号 = \'" & e.DataRow("合同编号") & "\'")
                \'dr("材料费欠款") = dt4.Compute("Sum(欠款金额)","合同编号 = \'" & e.DataRow("合同编号") & "\'")
            \'Else
                \'
                \'dr("材料费") = 0
                \'dr("材料费欠款") = 0
            \'End If
上面的语句,我写成:SQL怎么写 
 Dim cmd4 As New SQLCommand
            cmd4.C
            cmd4.CommandText = "Sel ect sum(已付金额) as 已付金额合计,sum(欠款金额) as 欠款金额合计,合同编号 From {采购入库} group by 合同编号" \'注意要包括主键列
            Dim dt4 As DataTable = cmd4.ExecuteReader() \'注意可选参数设置为True

下面怎么改呢?

            If cmd4.ExecuteScalar > 0 Then 
                dr("材料费") = cmd4.ExecuteScalar
                \'dr("材料费欠款") = dt4.DataRows(0)("欠款金额合计")
            Else
                
                dr("材料费") = 0
               \' dr("材料费欠款") = 0
            End If


--  作者:有点蓝
--  发布时间:2016/12/8 20:21:00
--  
Dim cmd4 As New SQLCommand
cmd4.C
cmd4.CommandText = "Sel ect sum(已付金额) as 已付金额合计,sum(欠款金额) as 欠款金额合计 From {采购入库} Where 合同编号= \'" & e.DataRow("合同编号") & "\'"
Dim dt4 As DataTable = cmd4.ExecuteReader() \'注意可选参数设置为True
If dt4.DataRows.Count  > 0 Then
    dr("材料费") = dt4.DataRows(0)("已付金额合计")
    dr("材料费欠款") = dt4.DataRows(0)("欠款金额合计")
Else
    
    dr("材料费") = 0
    \' dr("材料费欠款") = 0
End If