按数据库记录构建树控件,按数据库记录构建树控件
【 tulaoshi.com - C语言心得技巧 】
按数据库记录构建树控件
作者:XuFeng Yuan
下载本文示例代码
代码运行效果图如下:
简介:
将树中的每一个项目作为数据库中的一条记录(ACCESS2000),将程序启动时,对数据库进行读操作;创建树的各个项目时,是对数据库进行读操作,每次的读取,都是在可是查寻符合条件的记录,并将其一一添加到树中!
实现方法:
准备:
使用ACCESS2000,创建一个数据库,名字为City.mdb(我们将制作一个关于省与市的树,特别适合通讯录);
在数据库中创建一表,表名为TreeItem,字段内容与类型如下图:
输入一些原始数据.数据库已经准备好,那我们就进行实地的编程阶段.
程序实现:
创建一个基于对话框的工程---TreeData
//--------------------------------------------#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoEOF")//--------------------------------------------2.在TreeData.h中声明两个私有变量:
public: _ConnectionPtr m_pTreeConn;//连接创建private:CString TreeConnString;//连接字符串3.在CTreeDataApp的构造函数CTreeDataApp中添加如下代码:
//-------------------------------------------m_TreeConnString=_T("Provider=Microsoft.Jet.OLEDB.4.0;")_T("Data Source=DataBaseCity.mdb;");//-------------------------------------------4.在CTreeDataApp的初始化函数中添加如下代码:
//-------COM初始化--------------------------------AfxOleInit();/******************连接通讯录数据库********************/HRESULT hRes;try{hRes=m_pTreeConn.CreateInstance(_T("ADODB.Connection"));m_pTreeConn->ConnectionTimeout = 8;//连接ACCESS2000hRes=m_pTreeConn->Open(_bstr_t((LPCTSTR) m_strTelDataSource),_T(""),_T(""),adModeUnknown);}catch(_com_error e)///捕捉异常{CString errormessage;errormessage.Format(_T("连接TelBook.mdb数据库失败!rn错误信息:%s"),e.ErrorMessage());AfxMessageBox(errormessage);///显示错误信息return FALSE;}二.Recordset的创建:
//------------------------------------------private:HRESULT hRes;_RecordsetPtr m_TreeRecordset; //用于创建一个查询记录集//------------------------------------------public:CImageList m_TreeBootImage; //Tree的图标2. (1).在对话框窗口中添加一个TreeCtrl控件,一个ComboExe控件; TreeCtrl的风格设置如下图;
来源:http://www.tulaoshi.com/n/20160129/1484322.html