标题:一个怪问题
取消只看楼主
卡卡艾
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-180818-1-1.html




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

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