Foxtable(狐表)用户栏目专家坐堂 → 第二个参数为空


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

主题:第二个参数为空

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 9:51:00 [只看该作者]

到命令窗口调试

dim filter as string = "设置查询_纬度 is not null and (5000 > round(2 * asin(sqrt(power(sin((" & latitude1 & " - ([设置查询_纬度] *...........
Output.Show(filter) ‘查看生成的查询条件是否正确

命令窗口的调试条件合并成完整的sql放到数据库里执行看效果,比如:select * from 会员资料 where 命令窗口显示的查询条件

如果没有结果,从最简单的计算开始,看哪一个计算有问题,比如

select (1500 - ([设置查询_纬度] * pi / 180.0)) from 会员资料
select sin((1500 - ([设置查询_纬度] * pi / 180.0)) / 2)  from 会员资料
select power(sin((1500 - ([设置查询_纬度] * pi / 180.0)) / 2), 2)  from 会员资料
……

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:10849 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2021/2/8 10:39:00 [只看该作者]

select * from 会员资料 where 命令窗口显示的查询条件
1.这样原生的sql代码,如何在ft里面测试?

2.数据合成应该是正确的

图片点击可在新窗口打开查看此主题相关图片如下:000.png
图片点击可在新窗口打开查看


3.js数学函数,与sqlserver的数学函数,很多名字差不多,但是用法,有点不同,一会检查下这个

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 11:38:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/1484.htm

个人建议直接到数据库里测试sql

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:10849 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2021/2/8 15:43:00 [只看该作者]

1.执行下面sql,还有需要用到的sql数学函数,都测试有效,能找到资料行
round使用:se lect * from{会员资料} wh ere 1 < round([设置查询_纬度],5)
pi使用:se lect * from{会员资料} wh ere 1 > [设置查询_纬度] * pi() / 180.0
sqrt使用:se lect * from{会员资料} wh ere 1 > sqrt([设置查询_纬度]) / 180.0
round使用:se lect * from{会员资料} wh ere (0 < round(1633.1234,5)) ’特别是这一条,无论几位小数,参数2为5时,都测试有效

2.但是,下面这样测试提示错误
se lect * from{会员资料} wh ere (0 < round(2 * asin(sqrt(power(sin((29.14029 * PI() / 180.0 - [设置查询_纬度] * PI() / 180.0) / 2), 2) + cos(29.14029) * cos([设置查询_纬度] * PI() / 180.0) * power(sin((124.03093 * PI() / 180.0 - [设置查询_纬度] * PI() / 180.0 * PI() / 180.0) / 2), 2))) * 6378.137*10000,5)/10000)


图片点击可在新窗口打开查看此主题相关图片如下:000.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 15:55:00 [只看该作者]

1633.1234不管怎么round,结果肯定都大于0啊

估计是计算的结果溢出了,超出了电脑浮点运算的限制

另外应该这样调试,查看哪个计算结果有问题

select (1500 - ([设置查询_纬度] * pi / 180.0)) from 会员资料
selecsin((1500 - ([设置查询_纬度] * pi / 180.0)) / 2)  from 会员资料
select power(sin((1500 - ([设置查询_纬度] * pi / 180.0)) / 2), 2)  from 会员资料
……

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:10849 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2021/2/8 22:24:00 [只看该作者]

sql里如何将数字字符转换为浮点数?


图片点击可在新窗口打开查看此主题相关图片如下:000.png
图片点击可在新窗口打开查看

网上查了,改用cast(字段名 as DECIMAL),却又提示错误,感觉自己实在搞不定
能申请官方在线帮调试下么?我可以付费



图片点击可在新窗口打开查看此主题相关图片如下:desg0.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/2/8 22:35:08编辑过]

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/8 22:36:00 [只看该作者]

列类型改为双精度

 回到顶部
总数 27 上一页 1 2 3