网络游戏服务器端编程:在VC中使用ADO[1]

发表于:2008-03-06来源:作者:点击数: 标签:
可以使用Visual C++提供的ActiveX控件 开发 应用程序,还可以用ADO对象开发应用程序。使用ADO对象开发应用程序可以使程序开发者更容易地控制对 数据库 的访问,从而产生符合用户 需求 的数据库访问程序。 使用ADO对象开发应用程序也类似其他技术,需产生与数
 可以使用Visual C++提供的ActiveX控件开发应用程序,还可以用ADO对象开发应用程序。使用ADO对象开发应用程序可以使程序开发者更容易地控制对数据库的访问,从而产生符合用户需求的数据库访问程序。

    使用ADO对象开发应用程序也类似其他技术,需产生与数据源的连接,创建记录等步骤,但与其他访问技术不同的是,ADO技术对对象之间的层次和顺序关系要求不是太严格。在程序开发过程中,不必先建立连接,然后才能产生记录对象。可以在使用记录的地方直接使用记录对象,在创建记录对象的同时,程序自动建立了与数据源的连接。这种模型有力地简化了程序设计,增强了程序的灵活性。下面讲述使用ADO对象进行程序设计的方法。

    (1)引入ADO库文件

    使用ADO前必须在工程的stdafx.h文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下所示:
    #define INITGUID
    #import "c:\program files\common files\system\ado\msado15. dll"
    no_namespace rename("EOF"," EndOfFile")
    #include "icrsint.h"

    这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免冲突,将EOF改名为EndOfFile。

    (2)初始化ADO环境

    在使用ADO对象之前必须先初始化COM环境,初始化COM环境可以用以下代码完成:
    ::CoInitialize(NULL);

    在初始化COM环境后,就可以使用ADO对象了,如果在程序前面没有添加此代码,将会产生COM错误。

    在使用完ADO对象后,需要用以下的代码将初始化的对象释放:
    ::CoUninitialize();

    此函数清除了为ADO对象准备的COM环境。

    (3)使用ADO访问数据库

    __ConnectionPtr是一个连接接口,首先创建一个__ConnectionPtr接口实例,接着指向并打开一个ODBC数据源或OLE DB数据提供者(Provider)。以下代码分别创建一个基于DSN和非DSN的数据连接。
    //使用__ConnectionPtr(基于DSN)   
    __ConnectionPtr MyDb;  
    MyDb.CreateInstance(__uuidof(Connection));  
    MyDb-〉Open("DSN=samp;UID=admin;PWD=admin","","",-1);  
    //使用—ConnectionPtr (基于非DSN)  
    __ConnectionPtr MyDb;  
    MyDb.CreateInstance(__uuidof(Connection)); MyDb.Open("Provider =SQLOLEDB;SERVER=server;DATABASE=samp;
    UID=admin;PWD=admin","", "",-1);

原文转自:http://www.ltesting.net