ODBC 数据源,数据记录集是只读
发布日期:2021-10-02 00:05:41
浏览次数:1
分类:技术文章
本文共 1678 字,大约阅读时间需要 5 分钟。
原来一个VC6.0的项目,好久没调了。放开了一用,结果原先运行正确的代码,现在报错了。报错信息:
“”的“
原代码使用的是
CODBCRecordset class
参考代码出处:http://www.codeproject.com/Articles/473/CODBCRecordset-class。报错代码为:
m_rs.OpenEx(_T(dboper.SQL_Statement ));
while( !m_rs.IsEOF( )) { temp=""; for( i=0;i<m_rs.GetODBCFieldCount();i++) { if (m_rs.Field(i).IsNull()) FieldStr="NULL"; else { FieldStr=m_rs.Field(i).AsString(); FieldStr.TrimLeft(); FieldStr.TrimRight(); if(FieldStr.IsEmpty ()) FieldStr=" "; if (dboper.Col_Index.GetAt(i)=='1') FieldStr="'"+FieldStr+"'"; } if (0==i) temp=FieldStr; else temp=temp+","+FieldStr; }//for /*makeStr*/ temp=dboper.Pre_Char+temp+"~|"; if (!m_pList.IsEmpty()) { p1=m_pList.GetHeadPosition(); if(p1) tt=(CClient*)m_pList.GetHead(); while(p1) { if(ClientFilter(tt,dboper.Target_System_ID )) { /*send*/ tt->Send(temp,temp.GetLength()); } m_pList.GetNext(p1); if (p1) tt=(CClient*)m_pList.GetAt (p1); }// while(p1) //updateflag ActionAfterSelect=dboper.Action_After_Select; ActionPos=ActionAfterSelect.Find('='); if (ActionPos!=-1) { ActionField=ActionAfterSelect.Left(ActionPos); strsw=m_rs(ActionField); strsw.GetBuffer(10); strcpy(swit,strsw); switch(swit[0]) { case '1': ActionValue="0"; break; case '2': ActionValue="9"; break; default: ActionValue="0"; break; } m_rs.Edit (); m_rs(ActionField)=ActionValue; //ping m_rs.Update (); }//if (ActionPos!=-1) }//if (!m_pList.IsEmpty()) m_rs.MoveNext(); }//while for record m_rs.Close();报错位置: m_rs.Edit ();。问题锁定为:”CODBCRecordset 记录集是只读“ 很多文章说说是打开方式的问题,看了下没有打开readonly的方式。很不解
最后想想,代码以前是Ok的,变化的新建的数据库。有人说是数据库表的问题。没有主键。最后根据这条思路解决了。
解决:表中必须有主键,否则不能插入,我把数据表添加上主键,问题就解决了。
想想也好理解:该表如果没有主键,则该记录集不能有效的定位更新操作所对应的记录内容。但显然这是不够完善的表现。不过这个类毕竟
不能和后面更高级完善的数据库操作类相比。毕竟年代在那。
转载地址:https://blog.csdn.net/jacky_zh/article/details/23245655 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月18日 02时40分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
15 Python总结之数据分析与挖掘
2019-04-26
16 Python总结之舆情时间序列可视化
2019-04-26
数据结构和算法的知识图谱
2019-04-26
人工智能技术知识图谱
2019-04-26
机器学习算法之KNN
2019-04-26
实战六:手把手教你用TensorFlow进行手写数字识别
2019-04-26
实战七:手把手教你用TensorFlow进行验证码识别(上)
2019-04-26
机器学习算法之梯度下降法
2019-04-26
机器学习算法之多项式回归
2019-04-26
TensorFlow(keras)入门课程--01 机器学习的Hello World
2019-04-26
TensorFlow(keras)入门课程--03 卷积介绍
2019-04-26
TensorFlow(keras)入门课程--04 卷积神经网络
2019-04-26
TensorFlow(keras)入门课程--05 复杂图像处理
2019-04-26
TensorFlow(keras)入门课程--06 CNN用于猫狗数据集
2019-04-26
【比赛篇】TinyMind人民币面值 - 热身赛
2019-04-26
卷积神经网络交通标志识别
2019-04-26
【实战】深度学习构建人脸面部表情识别系统
2019-04-26
Python机器学习&数据分析-关联规则
2019-04-26
【实战】kaggle猫狗大战-卷积神经网络实现猫狗识别
2019-04-26
01 计算机视觉-opencv图像基本操作
2019-04-26