使用VC + ADO访问VFP数据库当使用
_RecordsetPtr 打开某个表时 例如:
_RecordsetPtr record;
...
// filed_one 为主键, 也就是我要查找的记录只有一条
// 表table_one 中有100万条记录。
record.Open(
"Select * from table_one where field_one = '1'",
cConnection.GetInterfacePtr(),
adOpenKeyset,
adLockReadOnly,
adCmdText);执行这段代码的结果是可以查找到该记录, 但是程序占用的内存会猛增
我想是因为VFP数据库是把table_one 的所有记录都加载到内存了。
各位, 请问有什么办法解决吗? 谢谢 还有
当我调用了record.Close();后, 内存还没有减少的,
这时候我想delete table 就会报 File is in use 的错误。
谢谢各位。
_RecordsetPtr 打开某个表时 例如:
_RecordsetPtr record;
...
// filed_one 为主键, 也就是我要查找的记录只有一条
// 表table_one 中有100万条记录。
record.Open(
"Select * from table_one where field_one = '1'",
cConnection.GetInterfacePtr(),
adOpenKeyset,
adLockReadOnly,
adCmdText);执行这段代码的结果是可以查找到该记录, 但是程序占用的内存会猛增
我想是因为VFP数据库是把table_one 的所有记录都加载到内存了。
各位, 请问有什么办法解决吗? 谢谢 还有
当我调用了record.Close();后, 内存还没有减少的,
这时候我想delete table 就会报 File is in use 的错误。
谢谢各位。
解决方案 »
- 用gdi+中的image的时候如何加载资源里面的图形
- 打开一个别人的VC60工程DLL,Project->Set中的页标鉴,有一项是library, 别的工程是DLL,请问两者有什么区别啊?
- 我想取的最大记录号,为什么不行呢?
- 小弟大四,面临选择。向各位前辈请教。
- 传说中的致命错误!
- 怎样显示和隐藏工具栏图标? (up有分)
- 在线等待,关于pqmagic使用的问题,要多少分给多少
- 如何将view客户区的dib图片写入meta file(100分)
- 请问我在用vc做ActiveX控件的时候,编译选项unicode release 和release版本区别?
- 我可不可以在一个VC程序中动态加载/卸载一个OCX控件,就向动态加载/卸载DLL一样。
- 在单文档中同时显示多张图片的问题
- CListrCtrl背景图不完整,怎么解决啊,急!~
1、adOpenKeyset 改为 adOpenDynamic 试试看。2、record->Close();
cConnection->Close();
1和2都不行, 我目前试过可以的就是把所有对象 Release() 掉 就可以, 但这种方法确实不灵活!!!