以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 关于相关cmd.ExecuteReader的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=6802)
|
-- 作者:baoxyang
-- 发布时间:2010/4/26 17:08:00
-- 关于相关cmd.ExecuteReader的问题
cmd.commandtext = "select ID,装货时间 from {车辆配送表} where 车牌号 = \'"& car1 &"\' and 派车时间 >= \'"& tg1 &"\' and 派车时间 <= \'"& tg3 &"\'" dim dth as datatable = cmd.ExecuteReader() if dth.datarows.count > 0 then 当无数据时,if dth.datarows.count > 0 then 这段代码会弹出错误提示框。如何不让弹出呢?请老大帮忙看看。
此主题相关图片如下:未命名.jpg
|
-- 作者:baoxyang
-- 发布时间:2010/4/26 17:19:00
--
原来好像不会出这个问题呀,只有cmd.ExecuteScalar()无数据时才会出错,所以一直用cmd.ExecuteReader来判断取数据。这可麻烦了,请老驾老大帮忙解决。
|
-- 作者:lxl
-- 发布时间:2010/4/26 17:34:00
--
那就换成if dth is not nothing then试试
|
-- 作者:mr725
-- 发布时间:2010/4/26 17:45:00
--
我这里没有出现提示 ~``~ , 你用output.show(dth.datarows.count) 试一试,结果是 0 呀, 应该是你后面的代码的问题···
|
-- 作者:mr725
-- 发布时间:2010/4/26 18:21:00
--
以下是引用lxl在2010-4-26 17:34:00的发言:
那就换成if dth is not nothing then试试
应该:if dth isnot nothing then 不过,这里不能这样判断,因为dim dth as datatable = cmd.ExecuteReader() 后,dth总是isnot nothing了·
楼主恐怕是缺少了: ...... else return
end if 导致之后的代码还在执行造成的···
|
-- 作者:lxl
-- 发布时间:2010/4/26 18:42:00
--
以下是引用mr725在2010-4-26 18:21:00的发言:
应该:if dth isnot nothing then 不过,这里不能这样判断,因为dim dth as datatable = cmd.ExecuteReader() 后,dth总是isnot nothing了·
楼主恐怕是缺少了: ...... else return
end if 导致之后的代码还在执行造成的···
当 CommandText 的语法错误的时候 返回的结果就是nothing 楼主output.show(cmd.commandtext ) 把结果放到数据源里面执行一下看看语法是不是错了
|
-- 作者:mr725
-- 发布时间:2010/4/26 18:48:00
--
o
|
-- 作者:czy
-- 发布时间:2010/4/27 1:20:00
--
怪事,我怎么不出错?
|
-- 作者:baoxyang
-- 发布时间:2010/4/27 8:34:00
--
以下是引用lxl在2010-4-26 18:42:00的发言:
当 CommandText 的语法错误的时候 返回的结果就是nothing 楼主output.show(cmd.commandtext ) 把结果放到数据源里面执行一下看看语法是不是错了
Hi!不好意思,真是语法错误造成的。CommandText 的语法错误的时候 返回的结果确是nothing 因为派车时间这个字段原来是有的,前天把这个字段修改出车时间,还以为是新版造成的,恐怕是人的惯性思维造成。正常情况下肯定会去检查是否语法问题,刚好又忘记了修改过字段,所以。。。。。。
|
-- 作者:baoxyang
-- 发布时间:2010/4/27 8:35:00
--
在此谢各位的帮忙。
|