CRecordset::GetFieldValue()提示"无效的描述符索引"错误是什么原因?
CRecordset::GetFieldValue()提示"无效的描述符索引"错误是什么原因?
资料上解释是说字段名不匹配或者索引号超过范围,但是经过检查Select语句和需要检索的字段都符合,但是就是实际执行会报错,是什么原因呢?
问题点数:0、回复次数:11Top
1 楼AnnLiu(Ann)回复于 2005-04-03 23:38:19 得分 0
尝试不要用字段名来试试看
CString tmp;
int fieldCount = rs.GetODBCFieldCount();
for(int index=0; index<fieldCount;index++ )
{
rs.GetFieldValue(index, tmp);
AfxMessageBox(tmp);
}
Top
2 楼AnnLiu(Ann)回复于 2005-04-03 23:39:56 得分 0
检查一下EOF 和 BOFTop
3 楼laiyiling(陌生人[MVP])回复于 2005-04-04 20:21:50 得分 0
如果你的recordset派生类是和一个表进行绑定了的,并且在绑定后你又改了数据库表的结构如顺序,就会有这个错误Top
4 楼laiyiling(陌生人[MVP])回复于 2005-04-04 20:24:09 得分 0
比如在数据库中字段如下:
a b c d
你必须以次顺序访问,如果你调用了rec.GetFieldValue("c",time);则调用rec.GetFieldValue("a",time)不成功Top
5 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-04 20:43:02 得分 0
保证字段顺序和访问顺序一致Top
6 楼imyourkobe()回复于 2005-04-04 21:08:03 得分 0
"无效的描述符索引"这个问题有时比较烦,我遇到过,不过最后解决的办法是WIN2000换成WIN XPTop
7 楼davehuhudave(陈郑华)回复于 2005-04-07 09:41:06 得分 0
取自段顺序 与表的机构顺序一致Top
8 楼gwcui(含雪窗)回复于 2005-04-09 18:28:29 得分 0
这个问题我也遇到了,正发愁呢
哪位牛人帮帮我们啊!!Top
9 楼CathyPing()回复于 2005-08-26 12:18:48 得分 0
如果你访问的是Oracle的话,请将字段名全部转为大写Top
10 楼sodangerous(机器人)回复于 2005-08-31 15:03:58 得分 0
可能是由于不存在这个字段Top
11 楼laiyiling(陌生人[MVP])回复于 2005-09-01 08:54:10 得分 0
在建立了CRecordset的派生类以后,就不要改数据库的结构了,访问的时候也要按顺序,否则就容易出错的Top




