VC++的Adao,具体概念我就不讲了。我直接进入主题。
首先建一个MFC的对话框程序,如下图所示
点击OK后,就选择Dialog选项,然后Finish.
画出下图类似的GUI
在StdAfx.h文件添加,以下内容
#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
回到Gui界面,双击添加按钮,然后弹出下添加改按钮的触发事件函数
然后在该方法里面添加以下代码
_variant_t RecordsAffected;
UpdateData(TRUE);
//初始化
CoInitialize(NULL);
//定义数据库连接对象指针
_ConnectionPtr m_pConn;
//创建对象
m_pConn.CreateInstance("ADODB.Connection");
//设置连接数据库的信息
CString DataSouce ="Provider=OraOLEDB.Oracle.1;User ID=base;Password=11;Data Source=ORCL";
//若没有在本地安装客户端,Data Source='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SID=ORCL)))'
try
{
//连接数据库
m_pConn->Open(_bstr_t(DataSouce), _bstr_t(""), _bstr_t(""), adModeUnknown);
MessageBox("连接数据成功");
CString cSql;
cSql.Format("insert into stu(stu_code, stu_name) values('%s','%s')", m_cStuCode, m_cStuName);
MessageBox(cSql);
m_pConn->Execute(_bstr_t(cSql), &RecordsAffected, adCmdText);
MessageBox("添加数据成功");
}
catch (_com_error e)
{
AfxMessageBox("连接数据库失败");
}
try
{
//连接数据库
m_pConn->Open(_bstr_t(DataSouce), _bstr_t(""), _bstr_t(""), adModeUnknown);
MessageBox("连接数据成功");
CString cSql;
cSql.Format("insert into stu(stu_code, stu_name) values('%s','%s')", m_cStuCode, m_cStuName);
MessageBox(cSql);
m_pConn->Execute(_bstr_t(cSql), &RecordsAffected, adCmdText);
MessageBox("添加数据成功");
}
catch (_com_error e)
{
AfxMessageBox("连接数据库失败");
}
我在数据库中创建了一个stu的表,里面只有两个字段,stu_code与stu_name.那么我们运行来测试下。
点击添加后,我们到数据库后台查看下。
呵呵。大功告成。