MFC数据库用户登陆模块

介绍一下使用Dialog based创建的一个用户登陆模块吧

我只在界面添加了2个edit控件,然后用在VC界面的MFC ClassWizard 的Member Variables选项卡给edit控件付变量分别是m_strUserName m_struserPwd.
然后

新键一个CUserRecordSet类基于CRecordset
创建时候显示连接数据源 在ODBC内选择数据源。(这里的提前在控制面板里面添加好你的数据源)
然后在选择数据库的表(这里我用的是ACCESS数据库)

在StdAfx.h头文件内必须#include <afxdb.h>他是声名CRecordset的基类。

然后在给BUTTON控件创建个函数,其针对这个模块代码如下:

 //目的将表单中的控件的输入内容更新到所关联的变量上,让m_strusername和m_struserpwd获得输入直
 UpdateData(TRUE);
 //生成一个CUserRecordSet的实例,m_UserRecordSet用于操作数据库Demo01中的表
 CUserRecordSet m_UserRecordSet;
 try
 {
  //判断记录集是否打开,若打开则关闭他
  if (m_UserRecordSet.IsOpen())
  {
   m_UserRecordSet.Close();
  }
  //定义查询语句,匹配准则为UserName=m_strUserName UserPwd=m_strUserPWD
  m_UserRecordSet.m_strFilter.Format("UserName='%s' and UserPwd='%s'",m_strUserName,m_strUserPWD);
  //执行操作语句
  m_UserRecordSet.Open(CRecordset::snapshot,NULL,CRecordset::none);
  if(m_UserRecordSet.IsEOF())
  {
   m_UserRecordSet.Close();
   AfxMessageBox("密码错误,请重试");
   return;
  }
  else
  {
   //执行完毕后关闭记录集
   m_UserRecordSet.Close();
   AfxMessageBox("密码正确,登陆成功!");
  }
 }
 catch (CException* e)
 {
  //捕获以为,把错误显示到界面上
  e->ReportError();
  return;
 }

 CDialog::OnOK();

这就OK了,整个程序只在创建CRecordset类的时候连了一下数据源,很简单的访问数据库的程序就写好了。不需要自己来写数据库的接口

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值