这是本人经过亲自测试的,绝对可用,效果怎么样就不好说了,因为正在学习中,所以都是用的最简单的,没有复杂的功能,都只有一条写入语句来试验是否成功。
ACCESS、SQL SERVER2000、MYSQL三种数据库的连接是一样的,这点本人亲自试过。建好数据库及数据表,然后添加登陆用户即可。如果需要源码,可以与本人联系,或者到这里来下载http://wmnmtm.download.csdn.net/
在ODBC中设置数据源,名称为studb
登陆用户名z
登陆密码111111
第一步:
在StdAfx.h头文件中加入如下代码:
#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
第二步:
在应用程序类的源文件中加入如下代码,位置为CTestDataApp::InitInstance()代码段中:
if (!AfxOleInit())
{
AfxMessageBox("初始化OLE DLL失败!");
return FALSE;
}
第三步:
在对话框的头文件中加入如下代码(public公有数据对象):
_ConnectionPtr m_pConnection;//连接对象
_RecordsetPtr m_pRecordset; //记录集对象
第四步:
在对话框的源文件加加入如下代码(CTestDataDlg::OnInitDialog()代码段中):
//::::::::::::::::::连接数据库:::::::::::::::::::::::::::::
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=Student.mdb","","",adModeUnknown);///连接数据库
hr = m_pConnection->Open("a","z","111111",adModeUnknown);//a为数据源名称,z为用户名,111111为密码
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
//******************操作数据库,这段必须有,否则提示错误*****************
//第五步:
在按钮的响应函数中加入如下代码(插入记录):
_variant_t RecordsAffected;
UpdateData();
CString strSQL;
strSQL.Format("INSERT INTO b(T1,T2,C1) VALUES ('%s', '%s','%s')","1","1","1","1");
m_pConnection->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);