VB6如何将SQL Sum结果输出到文本框

时间:2017-08-09 03:23:37

标签: mysql vb6

如何将SQL求和查询的结果导入TextBox?这是我的代码:
我需要将SQL总和结果发送到Text112

If rs3.State <> 0 Then rs3.Close
    rs3.Open "select sum(TotalHours) as thrs from tbldwardetails where employeesid  =" & Val(empids) & " And dwardate=" & Val(dwardate), db, 3, 3
    If rs3.RecordCount <> 0 Then
        Text112.Text = rs3!thrs
    Else

    End If

2 个答案:

答案 0 :(得分:0)

请注意Sum() 始终返回1条记录,但如果没有记录符合条件,则返回的值可能为空。

所以你必须只检查返回的值是否为null:

If not IsNull(rs3!thrs) Then
    Text112.Text = rs3!thrs
Else
    Text112.Text = "0" ' or vbNullString
End If

N.B。不应使用RecordCount,因为它的值取决于Cursor端:

  • 服务器端(adUseServer)是默认值,返回始终为-1
  • 客户端(adUseClient)返回记录计数

答案 1 :(得分:0)

如果结果为null,您可以使用更智能的查询返回值。

If rs3.State <> 0 Then rs3.Close

rs3.Open "SELECT IFNULL(SUM(TotalHours), 0) as thrs from tbldwardetails where employeesid  =" & Val(empids) & " And dwardate=" & Val(dwardate), db, 3, 3

If rs3.RecordCount <> 0 Then
    Text112.Text = rs3!thrs
Else
    '?
End If

在上面的查询中,如果SUM函数返回NULL,则IFNULL函数将返回0。

抱歉,我刚注意到MySQL标签。我从未使用过MySQL,但W3C文档显示了IFNULL函数,看起来它的使用方式相同。

W3Schools文档:https://www.w3schools.com/sql/sql_isnull.asp