
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
3.3.3 在对话框中加入一个按钮
为演示二个表关联的效果,在对话框中加入一个“关联”按钮和一个输入参数用的"定位"编辑框。并给此按钮增加单击事件代码如下:
void CZf0001View::OnButton1()
{
// TODO: Add your control notification handler code here
char ll[11];
int nn=0;
m_SS.GetLine(0,ll); //读“定位”编辑框中的内容
nn=m_SS.LineLength(0); //读“定位”编辑框中的字符内容的长度
if(nn) //“定位”编辑框中有输入内容,则按内容检索形成新的记录集
{ m_pSet->mbzm=(CString)ll;
m_pSet->mbzm=m_pSet->mbzm.Left(nn)+"%"; //“%”由SQL语法规定代表任意长度(长度可以为0)的字符串
m_pSet->Requery(); //在表FSB中重新检索
if(m_pSet->IsEOF())
{ MessageBox("检索结果为空!");
UpdateData(FALSE);
m_pSet->mbzm="%";
m_pSet->Requery();
}
m_pSet2->Requery(); //以表1当前记录BZM值,在表2:DBK1中检索
UpdateData(FALSE); //刷新表单内容
m_SS.SetSel(0,-1);
m_SS.ReplaceSel(""); //清除“定位”编辑框中的内容,使下一次单击“关联”按钮时,不会重复检索(即使nn=0)
}
else //“定位”编辑框为空,则按表1现有的结果集与表2:DBK1关联
{
m_pSet2->mhh=m_pSet->m_bzm; //将表1当前记录BZM值,作为表DBK1的查找参数
m_pSet2->Requery();
UpdateData(FALSE);
m_pSet->MoveNext();
}
}
4. 小结
通过本例可知,虽然VC++提供了Appwizard和Classwizard, 为编程者节省了大量的工作,但是想编出优秀的VC++应用程序,仅凭这些是远远不够的;必须熟悉MFC类库、ActiveX控件等知识。本文作为一个例子介绍了二个表的联接方法。在实际的应用中,读者可以举一翻三,编制更加完善的数据库应用程序。
参考文献
1. 康博创作室等编著. Visual C++6.0 高级开发教程. 人民邮电出版社
2. 齐舒创作室 编著. Visual C++6.0编程技巧与实例分析. 中国水利水 电出版社
3. 官章全 刘加明编著. Visual C++6.0 类库大全. 电子工业出版社