Username: Password:

用VC实现按数据库记录构建树控件
来源:vckbase作者:XuFeng Yuan 发布时间:2007-10-19 00:00:00

简介:

  将树中的每一个项目作为数据库中的一条记录(ACCESS2000),将程式启动时,对数据库进行读操作;创建树的各个项目时,是对数据库进行读操作,每次的读取,都是在可是查寻符合条件的记录,并将其一一添加到树中!

  实现方法:

  准备:

  使用ACCESS2000,创建一个数据库,名字为City.mdb(我们将制作一个关于省和市的树,特别适合通讯录);在数据库中创建一表,表名为TreeItem,字段内容和类型如下图:

  ID: 索引号码(可有,可无)
  Name: 项目名称(必须)
  ParentItem: 父项名称(必须)
  SecNum: 电话区号(可有,可无)

  输入一些原始数据.数据库已准备好,那我们就进行实地的编程阶段.

  程式实现:

  创建一个基于对话框的工程---TreeData

  一.ADO的引入和初始化

  由于在程式中,我使用了ADO来连接和操作数据库,所以要进行以下操作:

  1.在Stdafx.h中添加引作ADO的代码:

//--------------------------------------------
#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;
//连接ACCESS2000
hRes=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;
}
下一页>>

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅