VC 程序 中 如何 用ADO 连接 SQL Server 2005? 首先说明一点:VC 程序 中用ADO 连接 SQL Server 2005 和 连接 SQL Server 2000的语句和 连接 字符串是完全一样的,下面的代码适用于两个数据库的 连接 。 另一点说明:如果你以前安装过SQL Server 2000,后在
VC 程序中如何用ADO连接SQL Server 2005?
首先说明一点:VC程序中用ADO连接SQL Server 2005 和连接 SQL Server 2000的语句和连接字符串是完全一样的,下面的代码适用于两个数据库的连接。
另一点说明:如果你以前安装过SQL Server 2000,后在没有卸载的情况下又安装了2005,那么你之前在2000中设置的用户名和密码在2005中会保持,即使你安装2005时未设置任何用户名和密码。
下面是VC程序中用ADO连接SQL Server数据库的一个例子:
(1)创建一个基于对话框的工程,工程名为Test。
(2)在StdAfx.h中导入ADO动态链接库,代码如下:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace\
rename("EOF","adoEOF")
(3)在CTestApp::InitInstance()中初始化COM环境:
::CoInitialize(NULL);
注意,这条语句一定要放在“CTestDlg dlg;”这条语句的前面,否则在CTestDlg的函数中连接数据库会因无法创建连接实例而失
败。
(4)在对话框的头文件中声明ADO智能指针。
_ConnectionPtr m_pConnection; //连接对象指针
_RecordsetPtr m_pRecordset; //记录集对象指针
(5)在CTestDlg::OnInitDialog()中连接数据库:
try
{
m_pConnection.CreateInstance("ADODB.Connection"); //创建连接对象实例
_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=Query;
Data Source=127.0.0.1"; //连接字符串,这里Query是数据库名,127.0.0.1代表本地主机
m_pConnection->Open(strConnect,"sa","sa",adModeUnknown); //打开数据库
}
catch (_com_error e) //捕捉错误
{
AfxMessageBox(e.ErrorMessage()); //弹出错误
}
在打开数据库的这条语句中,第一个"sa"代表用户名,第二个"sa"代表密码。