`
ladymaidu
  • 浏览: 680861 次
文章分类
社区版块
存档分类
最新评论

“ODBC驱动程序不支持动态记录集”错误的解决

阅读更多

在使用VC进行数据库编程时我遇到一个问题。代码编译通过,在运行时突然弹出一个警告对话框,如下图:

我纳闷在哪里出了问题。我想唯一有可能的是连接数据库时出现了问题。于是我找到连接数据库的代码:

m_pdatabase->Open(NULL,FALSE,FALSE,"ODBC;DSN=libraryMIS;UID=txm;PWD=txm");

其中m_pdatabase是一个CDatabase类的指针。于是我查msdn,找到CDatabaseOpen函数。CDatabase::Open

virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = “ODBC;”, BOOL bUseCursorLib = TRUE );
throw( CDBException, CMemoryException );

我猜到问题可能出在哪儿了,我在BOOL bUseCursorLib设置了默认值TRUE。我得先看看bUseCursorLib表示什么意义。

bUseCursorLib

TRUE if you want the ODBC Cursor Library DLL to be loaded. The cursor library masks some functionality of the underlying ODBC driver, effectively preventing the use of dynasets (if the driver supports them). The only cursors supported if the cursor library is loaded are static snapshots and forward-only cursors. The default value is TRUE. If you plan to create a recordset object directly from CRecordset without deriving from it, you should not load the cursor library.

大意是说假如bUseCursorLibTRUE时,ODBC光标库将被加载。光标库会覆盖ODBC驱动程序的一些功能,有效地阻止动态记录集的使用(假如ODBC驱动程序支持动态记录集的使用的话)。假如光标库被加载唯一的光标支持的是静态快照集和唯一向前的光标。参数默认值是TRUE。假如你直接创建一个CRecordset类对象而不是继承自它,你不应该装载光标库。

因此问题的解决办法是将bUseCursorLib的值设为FALSE。当我这样做了,问题解决了。

分享到:
评论

相关推荐

    易语言程序免安装版下载

    升级加密狗驱动程序,增加了对 Windows 7, Vista 等操作系统的支持。 5. 操作系统界面功能支持库(shell.fne)中的“执行()”命令增加一个参数“窗口显示方式”,作用与核心库“运行()”命令的同名参数一致。 6. ...

    Visual C++编程技巧精选500例.pdf

    212 如何获取文件错误类型? 213 如何检测文件是否已经发生更改? 214 如何判断文件在磁盘上是否存在? 215 如何读写INI文件? 216 如何创建一个临时文件? 217 如何创建一个特大型文件? 218 如何创建一个文本文件? 219 ...

    非Access数据库在VB中的编程及应用

    VB专业版中提供了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格 式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB...

    学生信息管理系统-MFC课程设计报告.doc

    一、设计思路: 本程序运用了MFC ODBC应用程序设计与SQL数据库,利用VC++中提供的MFC ODBC 开放数据库连接组件进行数据库的访问,利用了记录集(RECORDSET类)进行信息的添加( ADD ( ) ),删除 (DEL ( )),修改 ...

    Delphi5开发人员指南

    3.4 Win32的错误处理 78 3.5 总结 78 第4章 应用程序框架和设计 79 4.1 理解Delphi环境和项目的体系结构 79 4.2 构成Delphi 5项目的文件 79 4.2.1 项目文件 80 4.2.2 单元文件 80 4.2.3 窗体文件 80 4.2.4 资源文件 ...

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    19.6 使用另一个记录集对象 19.6.1 添加记录集类 19.6.2 添加记录集的视图类 19.6.3 定制记录集 19.6.4 访问多个表视图 19.6.5 查看产品的订单 19.7 查看客户的详细情况 19.7.1 添加客户记录集 19.7.2 创建客户...

    Visual C++ 2005入门经典.part04.rar (整理并添加所有书签)

    19.6 使用另一个记录集对象 19.6.1 添加记录集类 19.6.2 添加记录集的视图类 19.6.3 定制记录集 19.6.4 访问多个表视图 19.6.5 查看产品的订单 19.7 查看客户的详细情况 19.7.1 添加客户记录集 19.7.2 创建客户...

    Visual C++ 2005入门经典.part07.rar (整理并添加所有书签)

    19.6 使用另一个记录集对象 19.6.1 添加记录集类 19.6.2 添加记录集的视图类 19.6.3 定制记录集 19.6.4 访问多个表视图 19.6.5 查看产品的订单 19.7 查看客户的详细情况 19.7.1 添加客户记录集 19.7.2 创建客户...

    Visual C++ 2005入门经典.part09.rar (整理并添加所有书签)

    19.6 使用另一个记录集对象 19.6.1 添加记录集类 19.6.2 添加记录集的视图类 19.6.3 定制记录集 19.6.4 访问多个表视图 19.6.5 查看产品的订单 19.7 查看客户的详细情况 19.7.1 添加客户记录集 19.7.2 创建客户...

    Visual C++ 2005入门经典.part05.rar (整理并添加所有书签)

    19.6 使用另一个记录集对象 19.6.1 添加记录集类 19.6.2 添加记录集的视图类 19.6.3 定制记录集 19.6.4 访问多个表视图 19.6.5 查看产品的订单 19.7 查看客户的详细情况 19.7.1 添加客户记录集 19.7.2 创建客户...

    Visual C++ 2005入门经典.part06.rar (整理并添加所有书签)

    19.6 使用另一个记录集对象 19.6.1 添加记录集类 19.6.2 添加记录集的视图类 19.6.3 定制记录集 19.6.4 访问多个表视图 19.6.5 查看产品的订单 19.7 查看客户的详细情况 19.7.1 添加客户记录集 19.7.2 创建客户...

    Visual C++ 2005入门经典--源代码及课后练习答案

    11.1.3 事件驱动型程序 579 11.1.4 Windows消息 579 11.1.5 Windows API 580 11.1.6 Windows数据类型 580 11.1.7 Windows程序中的符号 581 11.2 Windows程序的结构 582 11.2.1 WinMain()函数 583 ...

    C++Builder精彩编程实例集锦的源代码(4,5,6部分).rar

    C++Builder精彩编程实例集锦的源代码(4,5,6部分): 第四部分 图像处理 实例124 如何浏览图像 实例125 如何滚动浏览大图像 实例126 如何拖动图像 实例127 如何动态显示图像 ...实例250 如何获取数据库驱动程序名称

    C++Builder精彩编程实例集锦的源代码前3部分.rar

    第一部分 界面设计 实例001 如何实现程序闪屏效果 实例002 如何实现程序窗口闪烁 实例003 如何制作吸附窗口程序 实例004 如何制作透明程序窗口 实例005 如何制作半透明程序...实例250 如何获取数据库驱动程序名称

    C++Builder精彩编程实例集锦的源代码后3部分.rar

    第一部分 界面设计 实例001 如何实现程序闪屏效果 实例002 如何实现程序窗口闪烁 实例003 如何制作吸附窗口程序 实例004 如何制作透明程序窗口 实例005 如何制作半透明程序...实例250 如何获取数据库驱动程序名称

    第一部分 界面设计

    第一部分 界面设计 实例001 如何实现程序闪屏效果 实例002 如何实现程序窗口闪烁 实例003 如何制作吸附窗口程序 实例004 如何制作透明程序窗口 实例005 如何制作半透明程序...实例250 如何获取数据库驱动程序名称

    ASP3《高级编程》(第一部分)

    8.1.3 提供者和驱动程序 247 8.2 ADO 2.5对象模型 248 8.2.1 Connection对象 248 8.2.2 Command对象 249 8.2.3 Recordset对象 249 8.2.4 Record对象 249 8.2.5 Stream对象 250 8.2.6 集合 250 8.2.7 ADO常数...

    ASP3《高级编程》(第二部分)

    8.1.3 提供者和驱动程序 247 8.2 ADO 2.5对象模型 248 8.2.1 Connection对象 248 8.2.2 Command对象 249 8.2.3 Recordset对象 249 8.2.4 Record对象 249 8.2.5 Stream对象 250 8.2.6 集合 250 8.2.7 ADO常数...

    Access+2000中文版高级编程

    6.4.5 检查记录集支持的操作 126 6.4.6 复制记录集 126 6.4.7 书签 126 6.5 使用ADO查询 127 6.5.1 创建新查询 127 6.5.2 创建参数查询 128 6.5.3 针对参数查询打开记录集 128 6.5.4 执行批量查询 129...

    Access 2000中文版高级编程(part1)

    6.4.5 检查记录集支持的操作 126 6.4.6 复制记录集 126 6.4.7 书签 126 6.5 使用ADO查询 127 6.5.1 创建新查询 127 6.5.2 创建参数查询 128 6.5.3 针对参数查询打开记录集 128 6.5.4 执行批量查询 129 6.5.5...

Global site tag (gtag.js) - Google Analytics