Foxtable(狐表)用户栏目专家坐堂 → 关于相关cmd.ExecuteReader的问题


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

主题:关于相关cmd.ExecuteReader的问题

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
关于相关cmd.ExecuteReader的问题  发帖心情 Post By:2010/4/26 17:08:00 [只看该作者]

            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
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/4/26 17:19:00 [只看该作者]

原来好像不会出这个问题呀,只有cmd.ExecuteScalar()无数据时才会出错,所以一直用cmd.ExecuteReader来判断取数据。这可麻烦了,请老驾老大帮忙解决。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2010/4/26 17:34:00 [只看该作者]

那就换成if dth is not nothing  then试试


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/26 17:45:00 [只看该作者]

我这里没有出现提示  ~``~    ,  你用output.show(dth.datarows.count) 试一试,结果是 0 呀, 应该是你后面的代码的问题···

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/26 18:48:00 [只看该作者]

o 图片点击可在新窗口打开查看  

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/4/27 1:20:00 [只看该作者]

怪事,我怎么不出错?

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/4/27 8:34:00 [只看该作者]

以下是引用lxl在2010-4-26 18:42:00的发言:

CommandText 的语法错误的时候  返回的结果就是nothing
楼主output.show(cmd.commandtext ) 把结果放到数据源里面执行一下看看语法是不是错了

Hi!不好意思,真是语法错误造成的。CommandText 的语法错误的时候  返回的结果确是nothing
因为派车时间这个字段原来是有的,前天把这个字段修改出车时间,还以为是新版造成的,恐怕是人的惯性思维造成。正常情况下肯定会去检查是否语法问题,刚好又忘记了修改过字段,所以。。。。。。


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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/4/27 8:35:00 [只看该作者]

在此谢各位的帮忙。


 回到顶部