以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码能正确执行,但报错。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108072)

--  作者:hopestarxia
--  发布时间:2017/10/15 22:44:00
--  代码能正确执行,但报错。
老师:一段代码能正确执行,报出现报错提示。
具体详情如图。(直接发文字发不上来)。
注:如果我把WHERE条件改成只有一个就不报错了,但这样达不到我判断的目的。


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


--  作者:有点甜
--  发布时间:2017/10/15 23:11:00
--  

msgbox弹出你最后得到的sql语句是什么?

 

msgbox(cmd.CommandText)

 

把得到的sql语句,拷贝到sql测试窗口查询 http://www.foxtable.com/webhelp/scr/1484.htm

 

同时你代码应该加上判断,如 If dt.datarows.count > 0 Then \'如果查到数据


--  作者:hopestarxia
--  发布时间:2017/10/16 22:59:00
--  
老师,SQL语句是没有错误的,能正常的执行和得出结果的。
那个SQL语句,如果我把条件值只设置成一个,就不报错,把条件值一并列,才报错的,但是虽然报错,语句却完成了执行,得出了正确的结果

--  作者:有点蓝
--  发布时间:2017/10/16 23:19:00
--  
加上If dt.datarows.count > 0 Then的判断

If dt.datarows.count > 0 Then
e.row() = dt.datarows(0)()
……
end if

有可能还触发了其它的事件代码引起错误

--  作者:有点甜
--  发布时间:2017/10/17 9:04:00
--  

加入msgbox(dt.datarows.count)看弹出什么

 

加上systemReady,防止触发其余的事件代码 http://www.foxtable.com/webhelp/scr/2218.htm

 

 

 


--  作者:hopestarxia
--  发布时间:2017/10/19 3:34:00
--  
谢谢两位老师指点,造成错误的原因就是因为前面没有加上判断 If dt.datarows.count > 0 Then