以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 项目连接SQL Server数据库出错(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11318) |
||||
-- 作者:yyzlxc -- 发布时间:2011/7/17 20:47:00 -- [求助] 项目连接SQL Server数据库出错(已解决) 项目连接Access正常,但是连接SQL Server(2005和2008)时,在打开项目就出现错误提示,然后出现登录窗口,登录后,数据载入窗口的ComboBox控件没有数据,项目不能运行,不知道问题在哪里?
[此贴子已经被作者于2011-7-20 6:50:01编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/17 21:14:00 -- SQL 语法错误:
SELECT * FROM (SELECT DISTINCT 报表年月 From {日报源表} ORDER BY 报表年月 DESC)
应该改为:
SELECT DISTINCT 报表年月 From {日报源表} ORDER BY 报表年月 DESC
其余类推。
另外遇到这种问题,可以看看以下章节的内容,以便定位错误代码所在的行。 http://www.foxtable.net/help/topics/1485.htm
我用上面的代码发现执行到下面这样代码的时候发生错误: dmb.ComboList= dt.GetComboListString("报表年月","","报表年月 Desc")
那么肯定是dt出现问题,等于nothing,可能是SQL语句有误,为了验证,将下面的SQL语句复制到SQL执行窗口执行: SELECT * FROM (SELECT DISTINCT 报表年月 From {日报源表} ORDER BY 报表年月 DESC) 会发现无法执行,至此就找出原因了。
|
||||
-- 作者:yyzlxc -- 发布时间:2011/7/19 12:59:00 -- 谢谢狐爸老师的指教,已经解决大部分的问题,部分功能已经能够实现,但是,在点击任务栏窗口“按月分析”和“按年分析”两个节点时,出现错误提示(如下图),看上去像SQL语法问题,但是对SQL语法测试也可以通过,不知道问题出在那里?请各位老师帮助看看,谢谢!!
另附代码如下:
Case "按月分析" |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/19 14:33:00 -- order by 必须配合top语句使用。 既然没有top语句,请删除order by语句。 Access和SQL Server对于sql的语法要求是不一样的,一个报错,一个不报错,是正常的。 |
||||
-- 作者:yyzlxc -- 发布时间:2011/7/20 6:49:00 -- 谢谢狐爸老师的指教。考虑到排序要求,在狐爸老师的提示下,在代码中加了top语句,使该段代码在SQL Server2005环境下正常运转,达到预期效果。再次感谢狐爸老师的热情帮助。
sql = "Select TOP 100 PERCENT
报表年月,日期,单位,Sum(加工费) As 加工费,Sum(投工) As 投工 FROM {日报源表} Group By 报表年月,日期,单位 ORDER BY 单位,日期,报表年月" |