8.2.2查询记录【ODBC】

8.2.2查询记录

使用CRecordSet类的成员变量m_strFilterm_strSort和成员函数Open可以对表进行记录的查询和排序。示例如下图4所示:

           4:添加查询控件

1)在上面项目中,你打开资源栏,点开Dialog,双击IDD_MY_FORM,在学

生表下面,加一静态控件写:要查询的学号,接着再加一个编辑控件,ID为:IDC_EDIT_QUERY,再加一个按钮控件,ID号为:IDC_BUTTON_QUERY

Caption标题处写:查询

2)打开MFC ClassWizard对话框,为控件IDC_EDIT_QUERY添加CString类型的关联变量m_strQuery

3)在View类中添加按钮控件IDC_BUTTON_QUERYBN_CLICKED消息映射,并加下列代码:

voidCMyView::OnButtonQuery()

{

       // TODO: Add your control notificationhandler code here

       UpdateData();

    m_strQuery.TrimLeft();

       if(m_strQuery.IsEmpty())

       {

       MessageBox("要查询的姓名不能为空");

       return;

       }

       if(m_pSet->IsOpen())

              m_pSet->Close();//如果记录集打开,则先关闭

       m_pSet->m_strFilter.Format("stuid='%s'",m_strQuery);

       //stuidxs表的字段名,用来指定查询条件

       m_pSet->m_strSort="name";

       //namexs表的字段名,用来按name字段从小到大排序

       m_pSet->Open();

       if(!m_pSet->IsEOF())//如果打开记录集,有记录

              UpdateData(FALSE);//自动更新表中控件显示的内容

       else

              MessageBox("没有找到你要查找的名字!");

}

其中:m_strFilterm_strSortCRecordSet的成员变量,用来执行条件查询和排序。m_strFilter称为"过滤字符串",相当于SQL语句中WHERE后的条件串。m_strSort称为"排序字符串",相当于SQL语句中ORDER BY后的字符串。若字段的数据类型是文本,则需要在m_strFilter字符串中用单引号将查询的内容括起来;对于数字,则不需要用单引号。需要注意的是:只有在调用Open函数之前设置m_strFilterm_strSort才能保证查询和排序有效。如果有多个条件查询,则可以使用ANDORNOT来组合,例如:

m_pSet->m_strFilter="stuid>='990103'ANDstdio<='990101'";

需要说明的是,如果查询的结果有多条记录,则可以用CRecordSet类的MoveNext(下移一个记录)、MovePrev(上移一个记录)、MoveFirst(定位到第一个记录)和MoveLast(定位到最后一个记录)等函数来移动当前记录位置进行操作。

4)编译运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值