问题分析总结范文
在应用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") 就会造成参数不足。
报错五:“记录集是只读”
问题分析:这个问题通常是因为没打开要操作的表,但也可能是操作表的字段设置不合理。
-
淘宝工作总结范文(通用5篇)
淘宝工作总结范文篇15月份工作总结1、新员工的培训已完成。2、值日改为每天轮换,值日表与值班表已做好,大家都比较自觉。3、中差评交由张晓宇负责,解决的比较好,但部分中差评还是未能解决。4、新员工对商品有了基本的了解,发帖、设置秒杀都已熟悉5、迪佳商品价格已...
-
数学课程改革总结范文(精选3篇)
数学课程改革总结范文篇1这一学期以来,为了做好上梅中学数学科课程改革工作,主要从以下几方面入手,做好课程:改革的各项工作:一、首要任务是做好课程改革的学习,教研组长、备课组长带领全组的数学教师认真学习、领会各级政府、教育行政部门关于《基础教育课程改革纲...
-
小班家长工作总结十篇
小班家长工作总结篇1我们平时都说幼儿园的工作琐碎,小班的工作就尤其琐碎,小班家长事儿多似乎已成为司空见惯的事情。因此,做好家长工作是我们教师的重要职责,只有家园配合一致,才能真正实现因人施教,才能对每个幼儿实现良好的教育。一、运用多种形式加强与家长之间...
-
暑假工作总结十篇
暑假工作总结篇1一个欢乐的暑假就要过去了,可是,我学到了许多课外知识。书是在这个暑假不能少的,因为书里有很多的知识。正如读万卷书,行万里路的道理一样。这不,我和爸爸来到新华书店,买了六本书,分别是;国小生作文起步大全·必背古诗七十首和一套拼音版四大名著。书...