Foxtable(狐表)用户栏目专家坐堂 → 系统报错


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

主题:系统报错

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
系统报错  发帖心情 Post By:2012/4/28 16:15:00 [只看该作者]

狐爸:我想请问您一个问题

今天我把以前用access做数据源的系统重定向到SQL SERVER中,但是出现了一个问题,就是一个加载按扭,它的代码是

 

Dim d As Date =Date.Today

DataTables("wl请购单").loadfilter ="请购日期 =#" & d & "#"

DataTables("wl请购单").load

即加载当天的请购数据,在access中无论当天有无数据,运行都很正常,但重定向到了SQL SERVER 后,我将代码修改成 

Dim d As Date =Date.Today

DataTables("wl请购单").loadfilter ="请购日期 ='" & d & "'"

DataTables("wl请购单").load

 

即将#换成',运行时,如果当天有数据,它就运行正常,如当天没数据,它就报错

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.bmp
图片点击可在新窗口打开查看
请您告诉我为什么,并怎么样避免出现报错,谢谢

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/4/29 8:42:00 [只看该作者]

狐爸:我通过增加判断的代码后解决了这个问题,但我不明白,为什么ACCESS中没问题,而SQL中需要增加判断代码,或有没有其它方法可以解决,我新修改的代码如下,此问题已解决,但请告诉我产生的原因,谢谢

 

Dim i As new SQLCommand
Dim dt As DataTable
i.C
i.CommandText ="select * from {wl请购单} where 请购日期 = '" & Date.today & "'"
dt =i.ExecuteReader
If dt.DataRows.count >0 Then
    DataTables("wl请购单").loadfilter ="请购日期 ='" & Date.today & "'"
    DataTables("wl请购单").load
Else
    messagebox.show("对不起今天还没数据")
End If


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/4/29 14:40:00 [只看该作者]

在线等救命啊,强烈建议狐表公司节假日安排人员值班


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


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

估计要找盖茨帮的人来解释了, 呵呵,另外:你要是能给三倍的工资也许会有人值班的啦···

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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/5/1 9:44:00 [只看该作者]

按道理不应该呀,SQL时间的判断就是这样的,我用的一直挺好的呀.

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/5/1 15:27:00 [只看该作者]

谢谢楼上:SQL我刚接触,从ACCESS刚一转过去就出现了这个问题,但一用回ACCESS又一切正常,在用SQL SERVER时,只要数据源中没数据就会出现同样的提示(所有表都是),真不知道什么问题?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/2 8:51:00 [只看该作者]

这个我也不能理解,有空我再测试看看。

不过你判断行数的方法太恐怖了,应该:

 

Dim i As new SQLCommand
i.Connection Name = "数据源名称"
i.CommandText ="select Count(*) from {wl请购单} where 请购日期 = '" & Date.today & "'"
If i.ExecuteScalar >0 Then
    DataTables("wl请购单").loadfilter ="请购日期 ='" & Date.today & "'"
    DataTables("wl请购单").load
Else
    messagebox.show("对不起今天还没数据")
End If


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/5/2 11:34:00 [只看该作者]

谢谢狐爸的答复,虽然没有解决问题,但还是学会了判断是否有数据的方法,这也不错!

但还是请狐爸再查查,我现在发现不但是有这个问题,还有一些以前能用的按扭,现在也不能正常使用了,我们公司现在使用的是2005版的SQL SERVER,是否还需要安装其它什么东东(因我刚买来开发版时,也出现了不能正常使用的情况,后来重新更新了一个什么东东以后,才能正常使用)


 回到顶部