vs2019(MFC)--简单登录系统(1)

这篇具有很好参考价值的文章主要介绍了vs2019(MFC)--简单登录系统(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(接上一条ado连接数据库)(关于ado接数据库的使用,见登录程序)

1.建立数据库access 

vs2019(MFC)--简单登录系统(1)

vs2019(MFC)--简单登录系统(1)

 2.在mfc对话框中添加控件

vs2019(MFC)--简单登录系统(1)

 (我这里选择的是每个按钮登录到对应界面,也可以添加限制条件,通过一个按钮转到对应身份的对应界面,道理一样)

关于身份编辑框中下拉框内容的设置

通过属性中数据这一栏进行添加,“;”即可对其进行换行。

注:在程序运行过程中,下拉框可能显示不全,点击右边的下箭头,然后将下拉框的边框往下拉,即可。

vs2019(MFC)--简单登录系统(1)

 vs2019(MFC)--简单登录系统(1)

3.添加变量

选择对应的编辑框,添加捆绑变量

对应账户、密码、身份的编辑框都添加变量。

分别是CString m_userid;   CString m_password;    CString sf;

vs2019(MFC)--简单登录系统(1)

CString m_userid;
    CString m_password;
    _ConnectionPtr m_pConnection;
    _RecordsetPtr m_pRecordset;
  CString sf;

4.在资源视图界面,右键Dialog,点击插入Dialog,添加新的对话框

vs2019(MFC)--简单登录系统(1)

5.在新建的对话框界面添加类,命名为 CDlg_login;

vs2019(MFC)--简单登录系统(1)

 vs2019(MFC)--简单登录系统(1)

 6.以学生登录为例,要使学生登录成功后跳转到上述新建界面(CDlg_login)

在登录界面,点击学生登录按钮 ,即可跳转到右图界面,然后添加函数。(附在后边)

vs2019(MFC)--简单登录系统(1)vs2019(MFC)--简单登录系统(1)

void CyanjiushengDlg::OnCbnSelchangeCombo1()
{
	// TODO: 在此添加控件通知处理程序代码
}


void CyanjiushengDlg::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	_ConnectionPtr m_pConnection;

	_RecordsetPtr m_pRecordset;

	::CoInitialize(NULL);

	try {
		m_pConnection.CreateInstance(__uuidof(Connection));

		_bstr_t StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Users/11634/Desktop/sjk.mdb";//填写服务器连接信息

		m_pConnection->Open(StrConn, "", "", adModeUnknown);

		m_pRecordset.CreateInstance(__uuidof(Recordset));

		m_pRecordset->Open("select * from 账户信息", m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adModeUnknown);//选择数据库中user_pass表



		CString user = m_userid;
		CString	pass = m_password;//控件编辑框的变量名 
		CString ID;
		CString password;


		UpdateData(true);
		if (m_userid.IsEmpty() || m_password.IsEmpty())
		{
			MessageBox(_T("用户名或密码不能为空!"));

			m_userid.Empty();   //清空界面上账号的值

			m_password.Empty();   //清空界面上密码的值

			UpdateData(FALSE);

			return;

		}
		if (sf.IsEmpty() )
		{
			MessageBox(_T("身份不能为空!"));
			return;
         }
		if (sf != "学生")
		{
			MessageBox(_T("请选择正确身份!"));
			return;
		}
		while (!m_pRecordset->adoEOF)        //实现基本表中记录的遍历

		{
			ID = m_pRecordset->GetCollect("ID").bstrVal;

			password = m_pRecordset->GetCollect("password").bstrVal;
			sf = m_pRecordset->GetCollect("identity").bstrVal;

			if (ID == m_userid && password == m_password)//id与pwd均为数据库中的值,他们分别于编辑框中输入的值进行比较

			{
				if(sf!="学生")
				{
					MessageBox(_T("身份不正确1!"), _T("提示"), MB_OK);
				}
				

				//一旦登录成功,实现跳转页面
				else {
					CDialogEx::OnOK(); // 关闭登陆界面
					CDlg_login dlg;

					dlg.DoModal();

					return;
				}

			}


			if (ID == m_userid && password != pass || ID != m_userid && password == m_password)

			{
				// 弹出窗口提示用户名或密码不正确
				MessageBox(_T("用户名或密码不正确1!"), _T("提示"), MB_OK);
				// 清空用户名和密码,便于重新输入
				m_userid = "";
				m_password = "";
				UpdateData(FALSE); // 更新编辑框控件的显示值
				return;
			}
			
			m_pRecordset->MoveNext();//指向下一条记录

		}

	}

	catch (_com_error e)

	{
		::CoUninitialize();

		AfxMessageBox(e.ErrorMessage());

		return;
	}   return;
}

 注:

对话框转换程序:

CDialogEx::OnOK(); // 关闭登陆界面
 CDlg_login dlg;

 同时需要特别注意,在源文件开始添加 #include "CDlg_login.h",否则程序会报错。

vs2019(MFC)--简单登录系统(1)文章来源地址https://www.toymoban.com/news/detail-493143.html

到了这里,关于vs2019(MFC)--简单登录系统(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包