工控编程吧
标题:
256上位机VC MFC使用ODBC进行条件查询
[打印本页]
作者:
qq263946146
时间:
2016-4-22 20:15
标题:
256上位机VC MFC使用ODBC进行条件查询
(, 下载次数: 5)
上传
点击文件名下载附件
256上位机VC MFC使用ODBC进行条件查询
功能展示
为了在数据库查询时有效的提高效率,我胶就得有条件的进行查询而不是泛泛的查找,当前例程演示通过学号及毕业时间查询我们想要的结果,点击<按学号查询>会弹出对话框,输入学号就可查询满足条件的结果,同样按毕业时间查询也是如此
要点提示
要注意的是在执行记录集查询的时候要先关闭记录集,然后面执行查询工作,查询结束后再打开记录集,这样查询返回的结果才是我们想要的,不然的话可以有会出错或查得的结果不是 我们想要的;
Crecodset类其实就是代表一个记录集,默认情况下代表全部的记录,且按照数据库存储的顺序返回,但在多数的数据库操作中,最常见的是想得到满足一定条件的记录集。因而MFC在Crecodset类中添加有一变量m_strFilter,我们只要通过对此变量的赋值就可以实现记录集的过虑功能;
实现功能
1.按照前面例程或当前视频中的方法,用根目录的Student.mdb创建数据源;
2.新建一个应用前面数据源的基于单文档的应用程序,具体过程可参考视频学习;
3.按程序界面,添加三编辑框,ID分别为IDC_ID,IDC_NAME,IDC_GRADYEAR,分别关联SET类中的三个变量 m_ID; m_Name; m_GradYear;
再分别添加按钮<按学号查询)><按毕业时间查询>,关联函数
void CGkbc8View::OnRecordId()
{
CIDDlg dlg;//声明类对象
CString flstring="ID=";
if (IDOK == dlg.DoModal())//显示对话框
{
flstring += dlg.m_sID;
m_pSet->Close();//关闭记录集
m_pSet->m_strFilter=flstring;//查询条件
m_pSet->Open();//执行查询操作
int recCount=m_pSet->GetRecordCount();//得到记录集的条数
if (recCount==0)//检查是否为空
{
MessageBox("没有匹配的记录");
m_pSet->Close();
m_pSet->m_strFilter="";
m_pSet->Open();
}
UpdateData(FALSE);//更新对话框
}
}
复制代码
void CGkbc8View::OnRecordGradyear()
{
CYearDlg dlg;//声明类对象
CString flstring="GradYear=";
if ( IDOK == dlg.DoModal())//是否选择“OK”按钮
{
flstring += dlg.m_sYear;
m_pSet->Close();//关闭记录集
m_pSet->m_strFilter=flstring;//查询条件
m_pSet->Open();//执行查询操作
int recCount=m_pSet->GetRecordCount();//得到记录集的条数
if (recCount==0)//是否有记录
{
MessageBox("没有匹配的记录");
m_pSet->Close();
m_pSet->m_strFilter="";
m_pSet->Open();
}
UpdateData(FALSE);//更新对话框
}
}
复制代码
4.在前面两函数中可以看到有两个对话框CYearDlg , CIDDlg ,这是我们自己新添加的,插入两对话框资源,分别关联对话框类CYearDlg , CIDDlg ,给CYearDlg 添加一编辑框关联变量CString m_sYear , 给CIDDlg添加一编辑框关联变量m_sID,记得把此两对话框在头文件包含在view类中;
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/eb0e374b794cd51577bc0a712238a9dc/0/0/w_19rt5rx95p.swf-albumId=5740039409-tvId=5740039409-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 1)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4