文档章节

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

来来叔叔
 来来叔叔
发布于 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.3K
0
SQL知识整理二:锁、游标、索引

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

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部