| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 499 人关注过本帖
标题:一个怪问题
取消只看楼主 加入收藏
卡卡艾
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:672
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:1 
一个怪问题
不知道这个问题大家遇到过没有?
网上搜了一下,试试了那些方法没有管用.
大家帮忙看看.
运行项目提示:
IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。

使用到SQL语句的是:OleDbCommand cmd = new OleDbCommand("select top 9 id, ('.'+substring(title,0,12)+'...') as title from news where classid=1", con);

错误的提示指在这句上:OleDbDataReader sdr = cmd.ExecuteReader();
(说明:使用的是ACCESS数据库.上面SQL语句没有问题,截取了一下字符串.)
2007-10-25 22:18
卡卡艾
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:672
专家分:0
注 册:2007-4-3
收藏
得分:0 
呵呵,问题解决了。
主要原因还是ACCESS和SQLSERVER里面对语句的支持有些是不一样的。因为之前我是按SQLSERVER来做的,后来临时改成ACCESS数据库,所以问题就出来了。
解决方法如下,写下来,可能以后有人会碰到。
1.ACCESS里不能使用相同的字段名来做别名;
2.ACCESS里截取字符串不是SUBSTRING,而是MID();
3.注意MID()的位置参数,并不是索引,即不是从0开始。
解决办法就是:
SELECT TOP 9 id, ('. '+Mid(title,1,12)+'...') AS ntitle FROM news WHERE classid=1
(不是什么很大的问题,但有的时候往往就是这些小问题绊脚,呵呵。

革命尚未成功,同志仍需努力-----+++
2007-10-26 10:24
快速回复:一个怪问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023339 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved