作文档>范文大全>工作总结>工作总结范文

问题分析小结

更新时间:

在应用mfc odbc类进行数据库应用的开发的过程中遇到了好多问题,曾搞得我焦头烂额^_^,项目开发完成后,对开发过程中关于odbc报错问题解决方法做个小结。

报错一: “不支持动态记录集”

问题分析:使用cdatabase类的open()成员函数时,最后一个参数默认是加载动态游标库。因此,出现“不支持动态记录集”的错误,就是由此而来。

我遇到的例子a:使用open(默认dynaset)时,当访问时间之类的字段时会出现"不支持动态记录集",此时需改为snapshot)

ctime m_tmborrow;
if(this->isopen())
{
this->close();
}
this->open(crecordset::snapshot,_t("select * from tbborrow where readerid = '"+readerid+"'"));
m_tmborrow = this->m_borrowtime;

。。。。。。

报错二:“检索记录出错”

问题分析:在用vc的类向导新建一个基类为crecordset的数据集类时要注意类向导在绑定字段时使用的成员类量的数据类型是否与你的数据库字段类型一至。因为发现类向导并不是根据字段本身的数据类型来定义绑定变量的数据类型的。常常会把一个数据库常用的id或编号一类字段按long型处理,而实际上这样的字段往往是字符型的。在此时不会有错误发生,错误只会在你执行sql查询时跳出来。 执行sql查询时,如果出现“非法描述器索引”和“检索记录出错”这两个错误,那多半就是因为数据库字段与绑定变量的数据类型不相符导至的。前者一般静态数据集(snapshot)引起,而后者一般由动态数据集(dynaset)引起。

我遇到的例子b:修改accesse数据库字段名称(该字段数据类型为日期/时间或者文本类型,其中文本类型的掩码修改为日期/时间格式),在vc的crecordset派生类中重新绑定数据库表,导致运行程序时报告“检索记录出错”。解决办法则是很简单,把crecordset的派生类从工程中删除掉,然后再重建一个同样的crecordset的派生类问题就解决了(不要问我原因,我也搞不清)。

报错三:“非法描述器索引”

问题分析:同上

我遇到的例子c:每一个数据库里面难免要有几个表,需要对每个表进行添加记录操作(把数据库里的所有表都添加到crecordset的派生类中,并且每个表的字段都绑定相应的变量)。结果每次添加记录时都会有“非法描述器索引”出现,解决方法,每个表都用一个crecordset的派生类来操作,ok搞定了!

报错四:“参数不足,期待是1”

问题分析:这个问题通常是sql语句错误造成的,通常是sql语句中的字段数据类型不匹配,或者字段数据个数不匹配造成的,例如:执行insert into table(name,password) values("aa") 就会造成参数不足。

报错五:“记录集是只读”

问题分析:这个问题通常是因为没打开要操作的表,但也可能是操作表的字段设置不合理。


问题分析小结相关文章:

问题分析小结

在应用mfcodbc类进行数据库应用的开发的过程中遇到了好多问题,曾搞得我焦头烂额^_^,项目开发完成后,对开发过程中关于odbc报错问题解决方法做个小结。报错...
推荐度:
点击下载文档文档为doc格式

精选图文

  • 2024最新办公室年终总结范文
    2024最新办公室年终总结范文

    2024最新办公室年终总结范文【11篇】总结是事后对某一时期、某一项目或某些工作进行回顾和分析,那么一起看看办公室年终总...

  • 会计工作内容的简单描述
    会计工作内容的简单描述

    会计工作内容的简单描述(11篇)会计工作内容的简单描述怎么写?展望部分需要对未来一年的工作进行预测和分析,同时也要提出对...

  • 会计工作总结怎么写新人版
    会计工作总结怎么写新人版

    会计工作总结怎么写新人版10篇会计工作总结怎么写新人版怎么写?制定工作计划时要考虑人员和资源的因素,确保工作的合理分配和...

  • 保安管理试用期工作总结
    保安管理试用期工作总结

    总结是事后对某一时期、某一项目或某些工作进行回顾和分析,从而做出带有规律性的结论,它能够给人努力工作的动力,为此要我们写...