作者:Braulio Dez
译者:GreatGhoul
我读过的书中都会有这么一个章节"数据库编程",在这个短小的章节中总会有这么一个典型的例子: 用向导新建一个工程,选中"使用数据库"并选择数据库类型....
不过,如果项目开始一个月后我才意识到"嗯...,我需要在工程中使用数据库"或者"我需要使用另一个Recordset",有或者"我需要添加另一个数据库",难道我要重新开始这个工程吗?答案不用,这很容易解决.
- 创建一个没有数据库支持的新工程(如果你已经有一个这样的工程,跳过此步)
- 在stdafx.h中添加头文件
#include "afxdb.h" - 在要使用数据库的类(比如View类)中添加成员变量:
CDatabase m_MyDatabase; - 初始化类时
作者:Braulio Dez译者:GreatGhoul
我读过的书中都会有这么一个章节"数据库编程",在这个短小的章节中总会有这么一个典型的例子: 用向导新建一个工程,选中"使用数据库"并选择数据库类型....
不过,如果项目开始一个月后我才意识到"嗯...,我需要在工程中使用数据库"或者"我需要使用另一个Recordset",有或者"我需要添加另一个数据库",难道我要重新开始这个工程吗?答案不用,这很容易解决.
- 创建一个没有数据库支持的新工程(如果你已经有一个这样的工程,跳过此步)
- 在stdafx.h中添加头文件
#include "afxdb.h" - 在要使用数据库的类(比如View类)中添加成员变量:
CDatabase m_MyDatabase; - 初始化类时
作者:Braulio Dez译者:GreatGhoul
我读过的书中都会有这么一个章节"数据库编程",在这个短小的章节中总会有这么一个典型的例子: 用向导新建一个工程,选中"使用数据库"并选择数据库类型....想要更深一步了解数据库便编程,可以查看帮助文档,本文只是一个开始.
不过,如果项目开始一个月后我才意识到"嗯...,我需要在工程中使用数据库"或者"我需要使用另一个Recordset",有或者"我需要添加另一个数据库",难道我要重新开始这个工程吗?答案不用,这很容易解决.
- 创建一个没有数据库支持的新工程(如果你已经有一个这样的工程,跳过此步)
- 在stdafx.h中添加头文件
#include "afxdb.h" - 在要使用数据库的类(比如View类)中添加成员变量:
CDatabase m_MyDatabase; - 初始化类时,对数据库进行初始化
m_MyDatabase.Open(NULL, FALSE, FALSE, os);
在这里os只是一个指定打开数据库参数的CString,形如:
CString os = "ODBC;DSN=MyDb;UID=MyUser;PWD=MyPassword;";
在这个字符串中有如下参数:
- ODBC 使用ODBC数据库
- DSN=... 数据源名称(就是在"控制面板>管理工具>数据源"中添加的名称)
- UID=... 连接数据库的用户名
- PWD=... 连接数据库的密码
- 现在我们需要一个特定的recordset从数据库中获取数据.这很简单.新建一个继承自CRecordSet的类(用AppWizrd(Ctrl+W),新建类),以及要用到的字段等.(如果你要在多个不同的View中使用数据库,你可以创建多个CRecordSet的子类(比如为每一个table创建一个recordset))
- 把定义了recordset的头文件添加到要使用数据库的文件中,并设置所需的变量.
CMyRecordSet *MyRecordSet; - 然后打开recordset:
pMyRecordSet=new CMyRecordSet(&m_MyDatabase);
pMyRecordSet->Open(); // You can open it in many ways, see the help
.
.
.
pMyRecordSet->Close() ; - 关闭程序是别忘了关闭数据库连接.
m_MyDatabase.Close();
转载声明: 出自: Ghoul To World!作者: GreatGhoul
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.