VC++MFC ADO数据库编程实现与总结
2012-07-05 22:27:10 来源:WEB开发网1.首先在stdafx.h 文件中导入如下:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
2.在工程的APP文件中的InitInstance()中添加如下函数:
AfxOleInit();
3.添加数据库连接:你可以将下面代码写到一个函数中,因为每执行一次SQL语句就要先执行连接一次。
里面的DataSource是你的数据表的路径,当你的数据表添加到工程文件中时,
//////////////////////////////////////////////////////////////////////////
//建立数据库连接
::CoInitialize(NULL);
//////////////////////////////////////////////////////////////////////////
//集创建实例
m_pRecordset.CreateInstance("ADODB.Recordset");
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mymediaplayerdb.mdb","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; }
}
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
4.现在就可以自己编写函数进行执行。当查询的时候返回的为结果集。
_RecordsetPtr CTestADODlg::OnQueryMusic(CString strName)
{
CString sql = "SELECT musicname FROM Music WHERE musicname like '%";
sql+=strName;
sql+="%'";
m_pConnection->Execute((_bstr_t)sql,&Reffected,adCmdText);
m_pRecordset = m_pConnection->Execute("select * from Music",&Reffected,adCmdText);
return m_pRecordset;
}
之后可以使用结果集中的函数获得数据。以及下一条信息,上一条信息等。
更多精彩
赞助商链接