您的位置:首页 > 数据库

VC连接SQL2005(例子ADO_2)

2010-09-01 21:11 435 查看
(1) 在StdAfx.h中添加下面一句话:

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "rsEOF")

(2)    void CADO_2Dlg::OnBtnQuery()

{

CoInitialize(NULL);                                                        // 初始化COM库

_ConnectionPtr pConn(__uuidof(Connection));          // 建立Connection

_RecordsetPtr pRst(__uuidof(Recordset));          // 建立Recordset

_CommandPtr pCmd(__uuidof(Command));                     // 建立Command

try

{

//pConn->ConnectionString = "Provider=SQLOLEDB;Password=XXX;Persist Security Info=True;User ID=sa;Initial Catalog=pubs";       //此句正确

pConn->ConnectionString = "driver={SQL Server};Server=(local);DATABASE=pubs;UID=sa;PWD=xxx";

pConn->Open("", "", "", adConnectUnspecified);

//pRst = pConn->Execute("select * from authors", NULL, adCmdText);

//pRst->Open("select * from authors", _variant_t((IDispatch*) pConn), adOpenDynamic, adLockOptimistic, adCmdText);

pCmd->put_ActiveConnection(_variant_t((IDispatch*) pConn));

pCmd->CommandText = "select * from authors";

pRst = pCmd->Execute(NULL, NULL, adCmdText);

while(!pRst->rsEOF)

{

((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("au_lname")); //查询au_lname字段

pRst->MoveNext();

}

}

catch(_com_error e)

{

CString errormessage;

errormessage.Format("Error: %s", e.ErrorMessage());

AfxMessageBox(errormessage);

}

AfxMessageBox("查询结束!");

pRst->Close();

pConn->Close();

pRst.Release();                                                               // 释放相应COM接口上的引用计数

pConn.Release();

CoUninitialize();                                                       // 卸载COM库

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: