QQ登录

只需一步,快速开始

258上位机VC MFC使用ODBC进行条件排序

[ 复制链接 ]

258上位机VC MFC使用ODBC进行条件排序

258上位机VC MFC使用ODBC进行条件排序

258上位机VC MFC使用ODBC进行条件排序
功能展示
排序是数据库常用的操作,我们当前例程实现对数据库记录集进行排序的功能,通过组合框设置排序条件,再执行排序可以使记录集以一定顺序显示,效果如图;
要点提示
例程的排序功能主要是通过Crecordset类的成员变量m_strSort来实现,此变量赋予不同的值,将以不同的方式排序;
另外一个要注意的函数是Crecordset类的Open()函数;函数原型为 virtual BOOL Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none );
nOpenType 为记录集的打开方式,默认为snapshot;
lpszSQL默认为空字符串,还可以是一个SQL的SELECT语句, 可以带WHEERE或ORDER BY条件,或是一个CALL语句,通过 CALL语句可以调用SQL存储过程;
dwOptions ,打开记录集参数,默认为NONE,该参数可以取如下 值,以及如下值的组合, CRecordset::none , CRecordset::appendOnly    , CRecordset::readOnly    , CRecordset:ptimizeBulkAdd    , CRecordset::useMultiRowFetch    , CRecordset::skipDeletedRecords    , CRecordset::useBookmarks    , CRecordset::noDirtyFieldCheck    , CRecordset::executeDirect    , CRecordset::useExtendedFetch    , CRecordset::userAllocMultiRowBuffers   ,这些值的具体介绍可以查询MSDN手册;
实现功能
1.按照前面例程或当前视频中的方法,用根目录的Student.mdb创建数据源;
2.新建一个应用前面数据源的基于单文档的应用程序,具体过程可参考视频学习;
3.按程序界面,添加三编辑框,ID分别为IDC_EDIT_ID, IDC_EDIT_NAME,IDC_EDIT_GRADYEAR,分别关联SET类中的三个变量  m_ID;   m_Name;m_GradYear
添加按钮<执行 排序>,关联函数
  1. void CGkbc8View::OnButtonSort()
  2. {
  3.         m_pSet->Close();//关闭记录集
  4.         int nIndex=m_ComSort.GetCurSel();//得到下拉组合框所选项目序号
  5.         m_ComSort.GetLBText(nIndex,m_Sort);//得到下拉组合框所选项目文本
  6.         if(m_Sort=="学号")
  7.         {
  8.                 m_pSet->Close();//关闭记录集
  9.                 m_pSet->m_strSort="ID";//按照序号排序
  10.         //根据打开方式排序记录集
  11.                 m_pSet->Open(CRecordset::snapshot,NULL,CRecordset::readOnly);
  12.                 m_pSet->MoveFirst();//移动到第一条记录
  13.                 UpdateData(FALSE);//更新对话框
  14.         }
  15.         if(m_Sort=="姓名")
  16.         {
  17.                 m_pSet->Close();
  18.                 m_pSet->m_strSort="Name";//按照姓名排序
  19.                 //根据打开方式排序记录集
  20.                 m_pSet->Open(CRecordset::snapshot,NULL,CRecordset::readOnly);
  21.                 m_pSet->MoveFirst();//移动到第一条记录
  22.                 UpdateData(FALSE);//更新对话框
复制代码
  1. }
  2.         if(m_Sort=="毕业时间")
  3.         {
  4.                 m_pSet->Close();
  5.                 m_pSet->m_strSort="GradYear";//按照毕业时间进行排序
  6.                 //根据打开方式排序记录集
  7.                 m_pSet->Open(CRecordset::snapshot,NULL,CRecordset::readOnly);
  8.                 m_pSet->MoveFirst();//移动到第一条记录
  9.                 UpdateData(FALSE);//更新对话框
  10.         }        
  11. }
复制代码
4.添加组合框IDC_COMBO1,关联两变量  CComboBox  m_ComSort; CString  m_Sort;,并初始化组合框,向组合框内添加些文本  m_ComSort.InsertString(0,"学号");
  m_ComSort.InsertString(0,"姓名");
  m_ComSort.InsertString(0,"毕业时间");
  m_ComSort.SetCurSel(0);
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:258.上位机VC MFC使用ODBC进行条件排序.zip 
文件大小:43.41 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索