使用OLE DB 在VC6.0下可以插入(删除)数据,在VS2005下不能插入(删除)数据 解决
2013-04-10 14:34
288 查看
正在学习,MFC数据库开发方面的知识,
实例是VC6.0下的,想转到VS2005下使用,按照介绍的原理搭建好之后运行,结果不能插入元素。
对比VCH和VS向导给出的框架,分析原因,发现VS缺少了很多属性,
VC的属性自动写在C*Set中的open()函数中,内部添加了很多属性;
VS的属性自动添加在C*SetAccessor的GetRowsetProperties()内,只有两个属性,默认情况下,只能查看数据,而不能修改数据,
于是在此函数内添加两条属性
pPropSet->AddProperty(DBPROP_IRowsetChange, true);
pPropSet->AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);
问题便得以解决,此时的程序便可以实现添加删除功能了。
本人刚学此部分内容,不知说的对与否,忘大虾指正。
实例是VC6.0下的,想转到VS2005下使用,按照介绍的原理搭建好之后运行,结果不能插入元素。
对比VCH和VS向导给出的框架,分析原因,发现VS缺少了很多属性,
VC的属性自动写在C*Set中的open()函数中,内部添加了很多属性;
VS的属性自动添加在C*SetAccessor的GetRowsetProperties()内,只有两个属性,默认情况下,只能查看数据,而不能修改数据,
于是在此函数内添加两条属性
pPropSet->AddProperty(DBPROP_IRowsetChange, true);
pPropSet->AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);
问题便得以解决,此时的程序便可以实现添加删除功能了。
本人刚学此部分内容,不知说的对与否,忘大虾指正。
相关文章推荐
- 使用hibernate与mysql时数据不能插入的原因及解决办法
- hibernate先删除数据,紧接着执行插入时的异常解决之道——中间不能调用flush()、clear()等方法
- 【已解决】unitils使用@DataSet插入测试数据,测试结束后不能回滚
- GridView提交/插入数据/删除信息后字体变大问题的解决方法
- 在SQLServer2005中使用SQL语句插入数据出现乱码或问号的解决方法
- iOS使用AFNetworking请求回来的网络数据,不能显示中文, 新建一个分类解决。
- Linux:vi的插入模式下退格和方向键不能使用的解决方法
- 解决VS2005 SP1 时“无法使用此产品的安装源,请确认安装源存在,并且您可以访问它”的错误
- windows7系统windows XP系统ps2针孔老式键盘开机不能使用驱动出现感叹号--亲自测试可以解决问题
- 在使用SQLite插入数据时出现乱码的解决办法
- rownum 的使用,不能对rownum用">",删除查询特定条数据
- eWebeditor在IE8、IE9中插入图片按钮不能使用问题的解决方法
- VC6.0 VS2005 F1都不能调出msdn的解决办法(验证可用)
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
- MSSQL 中使用modify()方法,此方法使用XML DML语句在XML 数据中插入,更新或删除节点
- inux上使用sqlplus时不能用Backspace来删除字符的解决
- 使用hibernate和mysql生成数据表时,类型为string的属性对应的数据列不能插入汉字
- 解决sqlplus中输错命令时的删除、光标键不能使用问题
- thinkphp 在数据库更新(save)的时候,如果字段没有被修改,会更新失败 和数据的自动验证,插入的时候可以自动验证,但更新的时候就不能验证了
- 数据库表没有单一主键时,可以使用ROWID作为主键删除数据(Oracle)