ADO

1.添加ADO类型库文件

#import  " C:\Program Files\Common Files\System\ADO\msado15.dll "  
no_namespace rename(
" EOF " " EndOfFile " )

 

程序在编译过程中,VC++会读出msado15.dll中的类型库信息,自动产生两个该类型库的头文件和实现文件msado15.tlh和msado15.tli(在您的Debug或Release目录下)。在这两个文件里定义了ADO的所有对象和方法,以及一些枚举型的常量等。我们的程序只要直接调用这些方法就行了

 

还可以在VC编译器的系统路径中进行添加:在“工具”->“选项”中弹出选项对话框,如下图所示:

 

则可以这样导入ADO类型库文件

#import < msado15.dll >  no_namespace rename( " EOF " , " adoEOF " )

 

 不使用no_namespace属性

#import < msado15.dll >  rename( " EOF " , " adoEOF " )

 

2.初始化COM对象

如果是控制台程序,则如下进行初始化:

CoInitialize(NULL);

 
CoUninitialize();

如果是基于MFC的程序,则可以如下进行初始化:

AfxOleInit();

 

3.声明和实例化一个连接对象

 

// 方法1:声明和实例化一个连接对象

_ConnectionPtr pConnection(__uuidof(Connection));


// 方法2:声明和实例化一个连接对象

_ConnectionPtr pConnection =NULL;

//ADODB::_ConnectionPtr pConnection =NULL;不使用no_namespace属性

HRESULT hr  =  S_OK;
hr
= pConnection.CreateInstance(__uuidof(Connection) );

//hr=pConnection.CreateInstance(__uuidof(ADODB::Connection) );不使用no_namespace属性

 

/* ***************************************************
  推荐使用第二种方法声明和实例化一个对象,因为如果
  出现错误,_com_ptr_t的构造函数不会返回一个失败的
  HRESULT,所以第一种方法无法测试创建ADO对象成功与否
****************************************************
*/

 

 4.建立与数据库连接

建立ADO数据库连接过程中,关键是设置好连接字符串

4.1.连接字符串的格式

连接字符串提供所要连接的数据库类型,数据库所处服务器,要访问的数据库,数据库访问的安全认证信息等,它的设置标准随着数据源的类型不同而不同:

1)ODBC Driver for Access

strConnection  =  _T( " Driver={Microsoft Access Driver (*.mdb)}; "
        
" Dbq=c:\\DatabasePath\\dbaccess.mdb;Uid=;Pwd=; " );

 

 

 2)ODBC Driver for SQL Server

 

// a.SQL SERVER认证方式
strConnection  =  _T( " Driver={SQL Server};Server=MyServerName; "
        
" Trusted_Connection=no; "
        
" Database=MyDatabaseName;Uid=MyUserName;Pwd=MyPassword; " );
// b.混合认证方式
strConnection  =  _T( " Driver={SQL Server};Server=MyServerName; "
     
" Database=myDatabaseName;Uid=;Pwd=; " );
// WINDOWS NT认证方式
strConnection  =  _T( " Driver={SQL Server};Server=MyServerName; "
    
" Database=MyDatabaseName;Trusted_Connection=yes; " );
// 如果SQL SERVER运行在本地计算机上
strConnection  =  _T( " Driver={SQL Server};Server=(local); "
        
" Database=MyDatabaseName;Uid=MyUserName;Pwd=MyPassword; " );
// 如果计算机上存在两个实例只需在服务名上加“\实例名“
/*

dbnmpntw Win32 Named Pipes dbmssocn Win32 Winsock TCP/IP
dbmsspxn Win32 SPX/IPX
dbmsvinn Win32 Banyan Vines
dbmsrpcn Win32 Multi-Protocol (Windows RPC)
更多信息请参见: Q238949.
*/
strConnection 
=  _T( " Driver={SQL Server};Server=130.120.110.001; "
     
" Address=130.120.110.001,1052;Network=dbmssocn;Database=MyDatabaseName; "
     
" Uid=myUsername;Pwd=myPassword; " );

 

3).Driver for Oracle

strConnect  =  _T( " Driver={Microsoft ODBC for Oracle};Server=OracleServer.world; "
        
" Uid=MyUsername;Pwd=MyPassword; " ); 4).ODBC Driver for MySQL

 

 

4)ODBC Driver for MySQL

 

// 连接到本数据库:
strConnect  =  _T( " Driver={MySQL ODBC 3.51 Driver};Server=localhost; "
     
" Database=MyDatabase;User=MyUserName;Password=MyPassword;Option=4; " );
// 连接到远程数据库,需要在SERVER参数指定服务名或IP地址,如果端口不是默认 // 端口3306,你必面指定。
strConnect  =  _T( " Driver={mySQL ODBC 3.51 Driver};Server=MyRemoteHost; "
     
" Port=3306;Option=4;Database=MyDatabase;Uid=MyUsername;Pwd=MyPassword; " );

 

DSN Connection

ODBC DSN


strConnect  =  _T( " DSN=MyDSN;Uid=MyUsername;Pwd=MyPassword; " );

 

 

OLE DB Provider

OLE DB Provider for SQL Server

 

strConnect  =  _T( " Provider=sqloledb;Data Source=MyServerName; "
        
" Initial Catalog=MyDatabaseName; "
        
" User Id=MyUsername;Password=MyPassword; " );

If you want to connect to a "Named Instance" (SQL Server 2000), you must to specify Data Source=Servere Name"Instance Name like in the following example:

strConnect  =  _T( " Provider=sqloledb;Data Source=MyServerName\MyInstanceName; "
    
" Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword; " );

 If you want to connect with a SQL Server running on the same computer, you must specify the keyword (local) in the Data Source like in the following example:

 

strConnect  =  _T( " Provider=sqloledb;Data Source=(local); "
        
" Initial Catalog=myDatabaseName; "
        
" User ID=myUsername;Password=myPassword; " );

To connect to SQL Server running on a remote computer (via an IP address):

 

strConnect  =  _T( " Provider=sqloledb;Network Library=DBMSSOCN; "
        
" Data Source=130.120.110.001,1433; "
        
" Initial Catalog=MyDatabaseName;User ID=MyUsername; "

 

OLE DB Provider for MySQL

strConnection  =  _T( " Provider=MySQLProv;Data Source=test " );

 

OLE DB Provider for Oracle(from Microsoft)

 

strConnect  =  _T( " Provider=MSDAORA;Data Source=MyOracleDB;User Id=myUsername; "
     
" Password=myPassword; " );

 

 

OLE DB Provider for Oracle (from Oracle)

strConnect  =  _T( " Provider=OraOLEDB.Oracle;Data Source=MyOracleDB; "
        
" User Id=myUsername;Password=myPassword; " );

 

 

 

 

 

转载于:https://www.cnblogs.com/NeuqUstcIim/archive/2008/09/05/1285402.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值