WEB开发网
开发学院软件开发VC VC中用DAO实现树型控件的数据库访问 阅读

VC中用DAO实现树型控件的数据库访问

 2009-06-08 20:07:55 来源:WEB开发网   
核心提示: CDaoQueryDef类代表一个查询定义(Query definition),该定义可以被存储到数据库中,VC中用DAO实现树型控件的数据库访问(4),CDaoWorkspace提供了数据工作区(Workspace),一个工作区可以包含几个数据库,将表中字段名为"省名"

CDaoQueryDef类代表一个查询定义(Query definition),该定义可以被存储到数据库中。CDaoWorkspace提供了数据工作区(Workspace)。一个工作区可以包含几个数据库,工作区可以对所属的数据库进行全体或单独的事务处理,工作区也负责数据库的安全性。如果需要,程序可以打开多个工作区。

DAO的另一个重要特色在于它对Access数据库提供了强大的支持。由于DAO是基于Microsoft Jet引擎的,所以DAO肯定要在Access数据库上多作一些文章。例如,调用CDaoDatabase::Create()函数可以直接建立一个MDB文件,代码如下所示:

m_db.Create("C:\MYDIR\MYDB.MDB");

利用AppWizard和ClassWizard,用户可以方便地开发出性能优良的基于DAO的Access数据库应用程序。

上面介绍了关于DAO的一些基础知识,下面来说明本实例程序的实现思路。首先在视图类的OnInitialUpdate()函数中对树型控件初始化,初始化时先打开数据库中的表,找到第一条记录,将表中字段名为"省名"的内容插入到树型控件,然后移至下一条记录,进行循环操作至省数据表尾。程序代码如下:

void CPppView::OnInitialUpdate()
{
 CFormView::OnInitialUpdate();
 CPppDoc* pDoc = (CPppDoc*)GetDocument();
 m_ShengSet=&pDoc->m_ShengSet;
 TV_INSERTSTRUCT tvinsert;
 tvinsert.hParent = NULL;
 tvinsert.item.mask = TVIF_TEXT;
 tvinsert.item.pszText = "全国";
 HTREEITEM hDad = m_treectrl.InsertItem(&tvinsert);
 if (m_ShengSet->IsOpen())
  m_ShengSet->Close();
 m_ShengSet->Open();
 m_ShengSet->MoveFirst();
 CString c1;
 char buff[80];
 while(!m_ShengSet->IsEOF())
 {
  c1=m_ShengSet->m_column1;
  wsprintf(buff,"%s",c1);
  tvinsert.item.pszText = buff;
  tvinsert.hParent = hDad;
  m_treectrl.InsertItem(&tvinsert);
  m_ShengSet->MoveNext();
 }
}

上一页  1 2 3 4 5 6  下一页

Tags:VC 中用 DAO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接