以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于SQLCompute 函数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46031)

--  作者:jianjingmaoyi
--  发布时间:2014/2/15 21:32:00
--  关于SQLCompute 函数
这个函数我这样使用:

DataTables("销售订单").SQLCompute("Sum(销售金额)","会员卡号 =\'" & e.DataRow("会员卡号") & "\'")

但是 DataTables("销售订单") 没有行 那么会有个提示 "缺少一个指定参数",我在想既然是直接统计后台数据,这个提示不太科学吧! 应该不管存在不存在 都不用提示吧.

--  作者:有点甜
--  发布时间:2014/2/15 21:59:00
--  
 我测试了一下,统计不到值的时候,返回的是DBNull值哦。

msgbox(DataTables("表A").SQLCompute("sum(第一列)", "").Gettype.name = "DBNull")

--  作者:狐狸爸爸
--  发布时间:2014/2/17 8:38:00
--  

楼主,不关SQLCompute的事,你的代码用了e.DataRow("会员卡号"),如果表中没有行,何来e.DataRow("会员卡号")?

 

不过SQLCompute确实有一个问题,就是在没有利条件的行是,返回的是dnnull.value,下次会改进,返回nothing


--  作者:lsy
--  发布时间:2014/2/17 9:24:00
--  
以下是引用狐狸爸爸在2014-2-17 8:38:00的发言:

楼主,不关SQLCompute的事,你的代码用了e.DataRow("会员卡号"),如果表中没有行,何来e.DataRow("会员卡号")?

 

不过SQLCompute确实有一个问题,就是在没有利条件的行是,返回的是dnnull.value,下次会改进,返回nothing

一开始这样:

Dim sum As Double

sum = DataTables("销售订单").SQLCompute("Sum(销售金额)","会员卡号 =\'" & e.DataRow("会员卡号") & "\'")

r(1) = sum

 

没有符合条件的记录,就提示错误。

 

后来改成:

r(1) = DataTables("销售订单").SQLCompute("Sum(销售金额)","会员卡号 =\'" & e.DataRow("会员卡号") & "\'")

 

就没提示了。

 


--  作者:blackzhu
--  发布时间:2014/2/17 10:23:00
--  
以下是引用狐狸爸爸在2014-2-17 8:38:00的发言:

楼主,不关SQLCompute的事,你的代码用了e.DataRow("会员卡号"),如果表中没有行,何来e.DataRow("会员卡号")?

 

不过SQLCompute确实有一个问题,就是在没有利条件的行是,返回的是dnnull.value,下次会改进,返回nothing


  老大 我知道  但是应该是nothing 不应该是提示呀