MFC中使用CRecordset的Open方法打开记录集时,弹出“常见异常 不能创建文件缓冲区”的报错对话框,如何避免
MFC中使用CRecordset的Open方法打开记录集时,弹出“常见错误 不能创建文件缓冲区”的报错对话框,如何处理?
这种问题在运行时,有时出现,有时不出现,完全不明白到底什么原因。
希望高手指点迷津。
------解决方案--------------------
是打开记录集时出错还是读取某一条记录时出错,如果是读取记录则要检查一下你读取的字段值是否是VT_NULL,另外对于数据库的操作最好是加一个try catch,这样可以捕获到错误原因,如:
这种问题在运行时,有时出现,有时不出现,完全不明白到底什么原因。
希望高手指点迷津。
------解决方案--------------------
是打开记录集时出错还是读取某一条记录时出错,如果是读取记录则要检查一下你读取的字段值是否是VT_NULL,另外对于数据库的操作最好是加一个try catch,这样可以捕获到错误原因,如:
- C/C++ code
try { ;//操作数据库的代码 } catch(_com_error &e) { AfxMessageBox(e.Description());//显示错误原因 }
------解决方案--------------------
参看:http://support.microsoft.com/kb/130719/en-us
这是微软官方文件,内有解决方案。
------解决方案--------------------
//用这个试试
CDatabase db;
db.Open(NULL, false, false, "ODBC;DSN=myDSN;UID=;PWD=");
CMySet set(&base);
set.Open(AFX_DB_USE_DEFAULT_TYPE,"select* from 表名");