65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在项目创建时不使用应用程序向导的情况下使用记录集。

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.17/5 (17投票s)

1999年11月18日

2分钟阅读

viewsIcon

165182

downloadIcon

8

我读过的所有书籍都有一个官方章节“数据库编程”,其中包含一个小章节,其中包含典型的示例:创建一个新项目,使用应用程序向导选择使用数据库的选项,并选择要使用的数据库……

好的,我开始我的应用程序,一个月后我意识到“嗯……,我需要一个数据库用于这个项目”,或者……“我需要向数据库添加另一个记录集”,或者……“我需要添加另一个数据库”,我必须重新开始我的应用程序吗?答案是“否”,解决方案很简单(像我这样笨的人也能使用,所以它一定很简单 ;-))。

步骤如下

  • 创建一个没有数据库支持的普通项目(或者如果您已经创建了一个,请使用该项目……)。
  • 在 stdafx.h 中添加此包含
    #include "afxdb.h"
  • 在您想要使用数据库的类中(例如,在视图中),添加此成员变量
    CDatabase m_MyDatabase
  • 当您初始化该类时(例如,如果我们使用视图在初始更新中),初始化您的数据库,调用
    m_MyDatabase.Open(NULL,FALSE,FALSE,os)
    (其中“os”只是一个包含打开数据库参数的 CString,例如:CString os="ODBC;DSN=MyDb;UID=MyUser;PWD=MyPassword;")在此字符串中,我们放入
    • ODBC(使用 ODBC 数据库),
    • DSN=… 数据源的名称(这是您在 ODBC 管理器中添加数据库时指定的名称),
    • UID=… 是数据库的用户名,
    • PWD=… 是该用户的密码。
  • 现在我们需要一个特殊的记录集来从我们的数据库中获取数据。这很简单。创建一个类(使用应用程序向导(Ctrl+W 键……),添加新类),该类继承自 CRecordSet,然后选择您的数据库和您想要从该数据库中获取的表以及您需要的字段(您可以创建许多继承自 CRecordSet 的类,就像您需要的数据库的“视图”一样(例如,每个表一个记录集……)。
  • 在您将要使用它的文件中包含记录集的“.h”文件,并将该记录集类的变量输入到您需要的类中……
    CMyRecordSet *MyRecordSet; 
  • 然后打开记录集
    pMyRecordSet=new CMyRecordSet(&m_MyDatabase);
    pMyRecordSet->Open() // You can open it in many ways, see the help
    .
    .
    .
    pMyRecordSet->Close() 
    
  • 别忘了在退出程序时关闭数据库
    m_MyDatabase.Close();
    

而且……,如果您想了解更多信息,请查看帮助,这只是一个起点(由一个笨蛋制作…… :-))。

© . All rights reserved.