最简单的使用数据绑定对话框来实现。 1.创建一个项目。 2.选择Dialog based. 3.单击Project菜单,执行Add To Project自菜单中的Components and Controls命令,弹出Components and Controls Gallery对话框。 4.双击Visual C++ Components,然后选择ADO Data Bound Dialog,单击Insert按钮,接下来的向导会指导你怎么用。向导会生成 一个简单的数据库操纵程序。 5.当然你要实现建好一个数据库。 6.研究一下向导生成的代码,就知道手工添加时要输入什么代码了。
1.创建一个项目。
2.选择Dialog based.
3.单击Project菜单,执行Add To Project自菜单中的Components and Controls命令,弹出Components and Controls Gallery对话框。
4.双击Visual C++ Components,然后选择ADO Data Bound Dialog,单击Insert按钮,接下来的向导会指导你怎么用。向导会生成
一个简单的数据库操纵程序。
5.当然你要实现建好一个数据库。
6.研究一下向导生成的代码,就知道手工添加时要输入什么代码了。
(1)、在CWinApp::InitInstance()的重载函数中
BOOL CADOTest1App::InitInstance()
{
///@ 初始化COM库
if(!AfxOleInit())
{
AfxMessageBox("OLE初始化出错!");
return FALSE;
}
......
(2)、在stdafx.h中引入Ado库定义文件
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")2、创建Connection对象并连接数据库
(1)、定义一个指向Connection对象的指针:
_ConnectionPtr m_pConnection;
(2)、创建Connection对象实例及连接数据库并进行异常捕捉
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection"); ///@ 创建Connection对象
if(SUCCEEDED(hr))
{
///@ 连接数据库
hr = m_pConnection->Open("Data Source=hjs;UID=sa;PWD=;","","",adModeUnknown);
}
}
catch(_com_error e) ///@ 捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败 !\r\n错误信息: %s",e.ErrorMessage());
AfxMessageBox(errormessage); ///@ 显示错误信息
return FALSE;
}
/* Open方法解决方案
/* 直接用Recordset对象进行查询取得记录集
/* m_pRecordset.CreateInstance("ADODB.Recordset");
/* m_pRecordset->Open(_variant_t(m_Sql),_variant_t((IDispatch*)theApp.m_pConnection
/* ,true),adOpenStatic,adLockOptimistic,adCmdText);
/* Open方法的原型是这样的:
/* HRESULT Recordset15::Open ( const _variant_t & Source
/* , const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType,
/* enum LockTypeEnum LockType, long Options )
/* 其中第一个参数是_variant_t型,不是的要转换过来。
/* 对于SQL语句中必须要用单引号'的解决办法:CString m_Sql;
/* m_Sql.Format("select * from hjs_khxx where %s = \'%s\';",tj1,m_value1);
/* 这里m_value1是EDIT BOX 里输入的字符串。
/* 把双引号的字符串直接转化到SQL语句里。