Foxtable(狐表)用户栏目专家坐堂 → 关于SQLCompute 函数


  共有3925人关注过本帖树形打印复制链接

主题:关于SQLCompute 函数

帅哥哟,离线,有人找我吗?
jianjingmaoyi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
关于SQLCompute 函数  发帖心情 Post By:2014/2/15 21:32:00 [只看该作者]

这个函数我这样使用:

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/15 21:59:00 [只看该作者]

 我测试了一下,统计不到值的时候,返回的是DBNull值哦。

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

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/2/17 8:38:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By: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
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/2/17 10:23:00 [只看该作者]

以下是引用狐狸爸爸在2014-2-17 8:38:00的发言:

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

 

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


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


 回到顶部