以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 系统报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19142)
|
-- 作者:小猪鑫鑫
-- 发布时间: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
请您告诉我为什么,并怎么样避免出现报错,谢谢
|
-- 作者:小猪鑫鑫
-- 发布时间: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
|
-- 作者:小猪鑫鑫
-- 发布时间:2012/4/29 14:40:00
--
在线等救命啊,强烈建议狐表公司节假日安排人员值班
|
-- 作者:mr725
-- 发布时间:2012/4/29 18:49:00
--
估计要找盖茨帮的人来解释了, 呵呵,另外:你要是能给三倍的工资也许会有人值班的啦···
|
-- 作者:布莱克朱
-- 发布时间:2012/5/1 9:44:00
--
按道理不应该呀,SQL时间的判断就是这样的,我用的一直挺好的呀.
|
-- 作者:小猪鑫鑫
-- 发布时间:2012/5/1 15:27:00
--
谢谢楼上:SQL我刚接触,从ACCESS刚一转过去就出现了这个问题,但一用回ACCESS又一切正常,在用SQL SERVER时,只要数据源中没数据就会出现同样的提示(所有表都是),真不知道什么问题?
|
-- 作者:狐狸爸爸
-- 发布时间: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
|
-- 作者:小猪鑫鑫
-- 发布时间:2012/5/2 11:34:00
--
谢谢狐爸的答复,虽然没有解决问题,但还是学会了判断是否有数据的方法,这也不错!
但还是请狐爸再查查,我现在发现不但是有这个问题,还有一些以前能用的按扭,现在也不能正常使用了,我们公司现在使用的是2005版的SQL SERVER,是否还需要安装其它什么东东(因我刚买来开发版时,也出现了不能正常使用的情况,后来重新更新了一个什么东东以后,才能正常使用)
|