1.组件对象模型COM库的初始化
通常在App类的InitInstance()成员函数中实现
调用AfxOleInit()函数来完成COM库德初始化
2.ADO动态链接库的引进
用#import指令引入ADO动态链接库
在stdafx.h中加入如下语句:(stdafx.h这个文件哪里可以找到?你可以在FileView中的Header Files里找到)
Window XP操作系统一般在C盘
#import "c:\program files\common files\system\ado\msado15.dll " no_namespace rename( "EOF ", "adoEOF ")
这一语句有何作用呢?其最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。
几点说
(1)您的环境中msado15.dll不一定在这个目录下,请按实际情况修改
(2)在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。
msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
3.定义指向Connection对象的智能指针
_ConnectionPtr m_pConnection;
4.ADO与数据源的链接方法
HRESULT hr;
try
{
m_pConnection.CreateInstance("ADODB.Connection");
//创建Connection对象
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb;",
"","",adModeUnknown);
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("链接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
给出一些常用的连接方式供大家参考:
(1)通过JET数据库引擎对ACCESS2000数据库的连接
m_pConnection-> Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb ", " ", " ",adModeUnknown);
(2)通过DSN数据源对任何支持ODBC的数据库进行连接:
m_pConnection-> Open( "Data Source=adotest;UID=sa;PWD=; ", " ", " ",adModeUnknown);
(3)不通过DSN对SQL SERVER数据库进行连接:
m_pConnection-> Open( "driver={SQLServer};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139 ", " ", " ",adModeUnknown);
其中Server是SQL服务器的名称,DATABASE是库的名称
5.链接对象Connection的关闭和释放
在使用完之后吗,在析构函数中
m_pConnection->Close();
m_pConnection.Release();
通常在App类的InitInstance()成员函数中实现
调用AfxOleInit()函数来完成COM库德初始化
2.ADO动态链接库的引进
用#import指令引入ADO动态链接库
在stdafx.h中加入如下语句:(stdafx.h这个文件哪里可以找到?你可以在FileView中的Header Files里找到)
Window XP操作系统一般在C盘
#import "c:\program files\common files\system\ado\msado15.dll " no_namespace rename( "EOF ", "adoEOF ")
这一语句有何作用呢?其最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。
几点说
(1)您的环境中msado15.dll不一定在这个目录下,请按实际情况修改
(2)在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。
msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
3.定义指向Connection对象的智能指针
_ConnectionPtr m_pConnection;
4.ADO与数据源的链接方法
HRESULT hr;
try
{
m_pConnection.CreateInstance("ADODB.Connection");
//创建Connection对象
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb;",
"","",adModeUnknown);
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("链接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
给出一些常用的连接方式供大家参考:
(1)通过JET数据库引擎对ACCESS2000数据库的连接
m_pConnection-> Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb ", " ", " ",adModeUnknown);
(2)通过DSN数据源对任何支持ODBC的数据库进行连接:
m_pConnection-> Open( "Data Source=adotest;UID=sa;PWD=; ", " ", " ",adModeUnknown);
(3)不通过DSN对SQL SERVER数据库进行连接:
m_pConnection-> Open( "driver={SQLServer};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139 ", " ", " ",adModeUnknown);
其中Server是SQL服务器的名称,DATABASE是库的名称
5.链接对象Connection的关闭和释放
在使用完之后吗,在析构函数中
m_pConnection->Close();
m_pConnection.Release();