Foxtable(狐表)用户栏目专家坐堂 → Web数据源sql语句报错


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

主题:Web数据源sql语句报错

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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
Web数据源sql语句报错  发帖心情 Post By:2021/5/12 16:20:00 [显示全部帖子]


版本 2021.05.01开发版。

Web数据源下,执行sql 语句的 cmd.executevalues 时规律性报错。多场景测试均如此。   
切换到直连sql server数据源后则没有问题。

希望贵方检查一下是否有bug。

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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/5/12 16:38:00 [显示全部帖子]

版本是最新的啦,其实这个问题一直都有。之前由于其他问题太多这个就没说了。
 
代码示例请看附件,论坛不让直接发。 

这类语句我的系统里有很多,平时都好,一切换到web数据源就报错。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.txt



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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/5/12 16:55:00 [显示全部帖子]

有点奇怪,我原来好像是从你下面那种代码特地改成现在这样的,似乎有其他的错误逼我这样做的,要不也不喜欢写的这样麻烦嘛。似乎当返回“a”是null的时候也就是没找到任何数据的情形,Values("a").tostring会出错。 

不过我再试试。谢谢。

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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/5/12 17:13:00 [显示全部帖子]

按照蓝老师的方法测试了一下,问题依旧。报同样的错。不是我的写法有问题,我的写法在直连数据源情况下使用好久了没问题的。

肯定是cmd.executevalues这个方法再web数据源下有问题。

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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/5/12 17:14:00 [显示全部帖子]

我准备改用cmd.executereaders先绕开,工作量有点大。但这个问题还是希望贵方解决不要留bug

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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/5/12 17:26:00 [显示全部帖子]

我改用这个代码绕开了,这样测试执行没有问题,所以我基本可以肯定是cmd.executevalues这个方法在web数据源下有问题.

Dim atb As DataTable = cmd.ExecuteReader

If atb.DataRows.count>0 Then
    Dim rr As DataRow = atb.DataRows(0)
    cr("DailyOrds_Cost") = rr("a")
    cr("DailyOrds_Value") = rr("b")
    cr("DailyOrds_Tonnage") = rr("c")
    
Else
    cr("DailyOrds_Cost") = 0
    cr("DailyOrds_Value") = 0
    cr("DailyOrds_Tonnage") = 0
    
End If

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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/5/12 17:43:00 [显示全部帖子]

这个是类似另外一处的错误信息。
刚才那个地方错误信息更长一些,实在懒得再改回去重现了。


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


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


加好友 发短信
等级:小狐 帖子:304 积分:2085 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/5/12 17:54:00 [显示全部帖子]

还是重现一下吧。这个虽然看起来是提示executereader相关错误,但实际上是executevalues带来的。这次我只保留了dim values1=cmd.executevalues这一句,后面的空值判断都屏蔽了。只要改回executereader绕开就没问题。


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

 回到顶部