| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
VC++6.0开发多表联接的数据库应用程序
作者:佚名    文章来源:网络    点击数:    更新时间:2006-10-7
 


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 类库大全. 电子工业出版社

上一页  [1] [2] [3] 


相关文章