文档章节

记录集只读&无效的字符描述索引

来来叔叔
 来来叔叔
发布于 2017/08/04 23:56
字数 430
阅读 0
收藏 0
 

被vc 中的数据库编程搞得焦头烂额,尤其是用ODBC存取图像的时候。

不想用向导生成CRecordset的方式,这样只能静态的绑定数据集,而且有时候不想要一个附加的一个CRecordView。于是开始只定义了一个自己的CRecordset变量。但是后来发现,这样的话只能用GetFieldValue读取记录的值,怎么添加和修改记录呢,只能用SQL语句了,但是用SQL语句无法实现往字段里面添加图像啊。

所以只好参照以前的写法,用向导生成一个派生于CRecordset的类,并绑定数据变量。可是调用CMyRecordset.Open(CRecordset::snapshot,sqlStr)时出现“记录集只读”的错误,网上一查,一种解决方法时,snapshot改成dynaset,可是这样又出现“无效的字符描述索引”的错误,网上的贴子又解释说是读取记录时要遵守字段的顺序,可我这里没有用GetFieldValue读取记录啊。百思不得其解,于是怀疑数据表有问题,把其中两个约束关系去掉了,不行;怀疑向导生成的virtual CString GetDefaultConnect();virtual CString GetDefaultSQL();两个函数有问题,去掉好也不行。错误始终在Open函数这里,怀疑这里有鬼,于是只调用Open(),不用参数。可以了,但是还需要设置m_strFilter并Requery()得到自己需要的记录。再向字段里面写图像数据,可是查询一下发现里面的字段总是为空,原来还需要显式的调用CRecordset::SetFieldDirty和CRecordset::SetFieldNull。好复杂!

不过终于成功了!

© 著作权归作者所有

共有 人打赏支持
来来叔叔
粉丝 0
博文 100
码字总数 55732
作品 0
广州
高级程序员
私信 提问
史上最全的 DB2 错误代码大全

1 前言   作为一个程序员,数据库是我们必须掌握的知识,经常操作数据库不可避免,but,在写 SQL 语句的时候,难免遇到各种问题。例如,当我们看着数据库报出的一大堆错误时,是否有种两眼...

qq_35246620
2017/02/24
0
0
DB2错误信息(按sqlcode排序)

作者:王阔 2012-8-06 10:28 星期三 晴   DB2错误信息(按sqlcode排序)   sqlcode sqlstate 说明   000 00000 SQL语句成功完成   01xxx SQL语句成功完成,但是有警告   +012 0154...

王阔
2012/08/17
0
0
Python教程-数据类型

http://cuiqingcai.com/1001.html 标准的数据类型: Python有五个标准的数据类型: 数字 字符串 列表 元组 字典 Python数字: 不可变的数据类型,这意味着改变一个新分配的对象的数字数据类型...

智能小松鼠
2016/11/15
4
0
DB2 错误代码大全——SQLSTATE 消息

SQLSTATE消息 本节列示SQLSTATE及其含义。SQLSTATE是按类代码进行分组的;对于子代码,请参阅相应的表。 表2. SQLSTATE类代码 类 代码 含义 要获得子代码, 参阅... 00完全成功完成 表3 01警...

红薯
2011/11/28
2.7K
0
SQL知识整理二:锁、游标、索引

锁的模式 锁模式 描述 共享(S) 用于不更改或不更新数据(只读操作),如SELECT语句 更新(U) 用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的...

橘子红了呐
2017/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript继承(二)——借用构造函数

JavaScript继承(一)——原型链中提出原型链继承的两个问题:一是原型的数据共享问题,二是创建子类型的实例时,不能向父类型的构造函数中传递参数。这两个问题的根源还是在于使用原型模式创...

Bob2100
54分钟前
1
0
day25:比较两个文件内容|杀进程|并发备份数据库|并发进程备份mysql库|监控全国CDN网站节点|

1、有两个文件 a.txt 和 b.txt,把 a.txt 中有的但 b.txt 中没有的行找出来,并写入列 c.txt,然后计算 c 的行数; 注释:比较两个文件两个文件不同,可以用的方法:diff md5sum grep -vf $1 $...

芬野de博客
今天
5
0
抓包工具Charles

背景介绍 Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和i...

Jack088
今天
5
0
徒手撸一个简单的RPC框架

徒手撸一个简单的RPC框架 之前在牛逼哄哄的 RPC 框架,底层到底什么原理得知了RPC(远程过程调用)简单来说就是调用远程的服务就像调用本地方法一样,其中用到的知识有序列化和反序列化、动态...

不学无数的程序员
今天
2
0
Java 面试题目最全集合1000+ 大放送,能答对70%就去BATJTMD试试~

2019,相对往年我们会发现今年猎头电话少了,大部分企业年终奖缩水,加薪幅度也不如往年,选择好offer就要趁早,现在开始准备吧,刷一波Java面试题,能回答70%就去BATJTMD大胆试试~ 以下是2...

mikechen优知
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部