CDatabase类

要建立与数据源的连接,首先应构造一个CDatabase对象,然后再调用CDatabase的Open成员函数.Open函数负责建立连接,其声明为

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

 

参数lpszDSN指定了数据源名(构造数据源的方法将在后面介绍),在lpszConnect参数中也可包括数据源名,此时lpszDSN必需为NULL,若在函数中未提供数据源名且使lpszDSN为NULL,则会显示一个数据源对话框,用户可以在该对话框中选择一个数据源.参数bExclusive说明是否独占数据源,由于目前版本的类库还不支持独占方式,故该参数的值应该是FALSE,这说明数据源是被共享的.参数bReadOnly若为TRUE则对数据源的连接是只读的.参数lpszConnect指定了一个连接字符串,连接字符串中可以包括数据源名、用户帐号(ID)和口令等信息,字符串中的"ODBC"表示要连接到一个ODBC数据源上.参数bUseCursorLib若为TRUE,则会装载光标库,否则不装载,快照需要光标库,动态集不需要光标库. 若连接成功,函数返回TRUE,若返回FALSE,则说明用户在数据源对话框中按了Cancel按钮。若函数内部出现错误,则框架会产生一个异常。

下面是一些调用Open函数的例子。

 

CDatabase m_db; //在文档类中嵌入一个CDatabase对象

 

//连接到一个名为"Student Registration"的数据源

m_db.Open("Student Registration");

 

//在连接数据源的同时指定了用户帐号和口令

m_db.Open(NULL,FALSE,FALSE,"ODBC;DSN=Student Registration;UID=ZYF;PWD=1234");

m_db.Open(NULL); //将弹出一个数据源对话框

 

要从一个数据源中脱离,可调用函数Close。在脱离后,可以再次调用Open函数来建立一个新的连接.调用IsOpen可判断当前是否有一个连接,调用GetConnect可返回当前的连接字符串。函数的声明为

virtual void Close( );

BOOL IsOpen( ) const; //返回TRUE则表明当前有一个连接

const CString& GetConnect( ) const;

CDatabase的析构函数会调用Close,所以只要删除了CDatabase对象就可以与数据源脱离。

04CDatabase类相关推荐

  1. 自己搜集编写的Delphi 通用函数

    { ********************************************************************** } { Currency Common Functio ...

  2. 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题

    继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...

  3. MybatisPlus忽略实体类中的非数据库字段、JPA忽略实体类中的非数据库字段、HeHibernate忽略实体类中的非数据库字段

    mybatis plus忽略映射字段时可以在实体类属性上使用以下注解: @TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的. @TableField(e ...

  4. IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...

    使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...

  5. IDEA自动生成类注解,IDEA作者信息自动生成,IDEA类信息自动生成

    在新建类文件的时候自动生成注解,诸如我们常见的那些 作者,创建时间,TODO 等等 将以下格式的代码放在Settings -> File and Code Templates -> Inc ...

  6. javabean实体类与实体类之间的快速转换

    一.Dozer是什么? dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样. 使用方法示例如下: // article(PO) -> art ...

  7. 利用dom4j将实体类转换为对应的xml报文

    利用dom4j生成xml报文 目标格式: <?xml version="1.0" encoding="GBK"?><Packet type=& ...

  8. Idea groovy表生成实体类带注释

    Idea groovy表生成实体类带注释 1.点开datasourse,打开idea带的数据库工具,具体添加数据库连接,这里不描述. 这时点击会生成一个poji 这时生成的pojo中是不带中文注释的, ...

  9. java带参数的方法笔记_具有Java参数的方法的类声明

    类声明可以包含在Java中具有参数的方法.演示此过程的程序如下: 示例class Message { public void messagePrint(String msg) { System.out ...

最新文章

  1. 【C++】利用构造函数对类对象进行初始化
  2. Windows服务器上怎样开放指定端口
  3. win 8 快捷键大全
  4. 【C++基础】模板基础与函数模板
  5. 业务异常 java_谈谈RxJava处理业务异常的几种方式
  6. 浏览器svg插件_Archer-svgs: 异步加载svg方案
  7. 干货分享 | 史上最全Oracle体系结构整理
  8. FD.io VPP 20.09版本正式发布:往期VPP文章回顾+下载地址+相关链接
  9. UML(1) - 概述
  10. SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
  11. mysql运用索引写出高效sql_从SQL Server到MySql(5) : 高性能的MySql 索引策略
  12. 关于跳转 + 传递消息,
  13. java中两个数交换的4种方式
  14. 独家揭秘:暴利的黑帽SEO行业
  15. less中使用global的两种用法
  16. Revel敏捷后台开发框架
  17. 虚幻引擎图文笔记:The emitter is GPU but the fixed bounds checkbox is not set警告的解决
  18. 操作系统习题(有一个具有两道作业的批处理系统)
  19. 背单词app软件测试与评估
  20. f7功能键使用计算机,【ThinkPad】F1-F12功能键最全使用指南

热门文章

  1. 中国网络安全产业白皮书
  2. 2020快手汽车行业数据价值报告
  3. 数据产品经理的5大阶段和6步作战模型
  4. 产品经理如何应对一句话需求
  5. 作者:宋杰(1980-),男,博士,东北大学软件学院副教授
  6. 【操作系统】Semaphore处理吸烟者问题
  7. 用Map构造选择题题库(洛谷P5601题题解,Java语言描述)
  8. 轻松理解Spring框架的基本思想
  9. 区块链的安全和智能合约
  10. [安卓] 19、一个蓝牙4.0安卓DEMO