WEB开发网
开发学院软件开发VC 用VC++6.0开发多表联接的数据库应用程序 阅读

用VC++6.0开发多表联接的数据库应用程序

 2008-11-13 19:33:11 来源:WEB开发网   
核心提示: 按3.2.2介绍的CZf0001Set类m _strFilter参数的设置方法,在CZf1001类中,用VC++6.0开发多表联接的数据库应用程序(6),设置参数mhh,3. 3 参数mhh及参数mbzm在CrecordView的派生类CZf0001View中的使用3.3.1 参数在CZf

按3.2.2介绍的CZf0001Set类m _strFilter参数的设置方法,在CZf1001类中,设置参数mhh。

3. 3 参数mhh及参数mbzm在CrecordView的派生类CZf0001View中的使用

3.3.1 参数在CZf0001View::OnInitialUpdate()函数使用

在CZf0001View::OnInitialUpdate()函数的开头部分,调用CZf0001View:: GetDocument()从文档类CZf0001Doc类中,返回二个CrecordSet类(CZf0001Set、CZf1001)的指针。根据返回的指针,设置m _strFilter (相当于SQL语句的WHERE子句),并确定二个参数的初始值。这里要说明一点:

m_pSet->m_strFilter="BZM like ?";

m_pSet2->m_strFilter="hh like ?";

语句中的“?”,在调用Open或Requery时,“?"将分别自动地被CZf0001Set::mbzm和 CZf1001::mhh的值取代。例如,指定mbzm为“31001",则m_pSet->m_strFilter将变成"BZM =31001"。这样用户只要指定了mbzm,就可以得到所需要的记录集。CZf0001View::OnInitialUpdate()的程序清单如下(黑体部分的语句是手工增加的):

void CZf0001View::OnInitialUpdate()
{ m_pSet = &GetDocument()->m_zf0001Set;
m_pSet2=&GetDocument()->m_zf1002;
if(!m_pSet2->Open())
return;
m_pSet->m_strFilter="BZM like ?";
m_pSet->mbzm= "%"; //初始选择所有记录
m_pSet->m_strSort="";
m_pSet2->m_strFilter="hh like ?";
m_pSet2->mhh=m_pSet->m_bzm; //将表FSB对应的CRecordset派生类的m_bzm的值,作为参数mhh的值 
m_pSet2->m_strSort="";  //检索的结果不进行排序
m_pSet->m_pDatabase= m_pSet2->m_pDatabase; //共享CDatabase
CRecordView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
}

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

Tags:VC 开发 联接

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