您的位置:首页 > 数据库

vc 用ADO链接数据库

2008-11-25 18:47 260 查看
1.stdafx头文件的后面,添加:
#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename ("EOF","adoEOF")
2.初始化COM库CoInitialize(NULL);//
3.链接
HRESULT hr;//句柄
_RecordsetPtr m_pRecordset;////记录集指针
_ConnectionPtr m_pConnection;///链接指针
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open((_bstr_t)"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;Persist Security Info=False","","",adModeUnknown);///创建成功打开数据库data
}
if(SUCCEEDED(hr))
{
hr=m_pRecordset.CreateInstance("ADODB.Recordset");/////创建记录集
}
4.捕捉异常
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
5.将数据库内容放进LISTCTRL里
_variant_t vnRCount;////
CString strMsg;////
CString strSQL;////放SQL语句
strSQL.Format("select * from AAA");///取出数据库data里的表名为AAA的所有值的语句
m_pRecordset=m_pConnection->Execute(_bstr_t(strSQL),NULL,adCmdText);
////////////执行该语句,将值放进记录集里
int i=0;
while(!m_pRecordset->adoEOF)///如果记录集非0
{
vnRCount=m_pRecordset->GetCollect("BB");//////取出记录集中列名为BB的那一列
strMsg=(char*)_bstr_t(vnRCount.bstrVal);
m_list.SetItemText(i,0,strMsg);///////////插入数据
m_pRecordset->MoveNext();
i++;
}
m_pRecordset->Close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: