软件中写登录模块是为了防止软件的恶意传播,内测阶段可以忽略登录。

以下为登录模块主要源代码:

void CLoginDlg::OnBnClickedBtnLogin()
{
	// TODO: Add your control notification handler code here
	CClerkDataSet lgDataSet;
	CString strSQL=L"";
	UpdateData(TRUE);
	CMFC_Library_RibbonView* pView;
	pView=((CMFC_Library_RibbonView*)((CMainFrame*)AfxGetMainWnd())->GetActiveView());
	if (m_strName.IsEmpty())
	{
		MessageBox(L"请输入用户名!",L"提示",MB_ICONWARNING);
		return;
	}
	else if(m_strPWD.IsEmpty())
	{
		MessageBox(L"请输入密码!",L"提示",MB_ICONWARNING);
		return;
	}
	strSQL=L"SELECT * FROM CLERK WHERE NAME='";
	strSQL=strSQL+m_strName;
	strSQL=strSQL+L"' AND PASSWORD='";
	strSQL=strSQL+m_strPWD;
	strSQL=strSQL+L"'";
	if (!lgDataSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox(L"打开CLERK表失败!",L"提示",MB_ICONWARNING);
		return;
	}
    if (m_strName=="rong"&&m_strPWD=="123456")
	{
		m_strUSERID=lgDataSet.m_CLERK_ID;
		m_bSuccess=TRUE;
		MessageBox(L"登陆成功!",L"成功");

		pView->m_strUserId=m_strUSERID;
		pView->m_bLogin=m_bSuccess;
		pView->m_strUserName=m_strName;

		CString name=L"图书管理系统V1.0-当前登录用户:"+m_strName;
		((CMainFrame *)AfxGetApp()-> m_pMainWnd)->SetWindowText(name);
		Invalidate();

		CDialog::OnOK();
		DestroyWindow();
	}
	else
	{
		MessageBox(L"登录失败!用户名或密码不正确!",L"登录失败!",MB_ICONERROR);
		SetDlgItemText(IDC_EDIT_USERNAME,L"");
		SetDlgItemText(IDC_EDIT_PWD,L"");
		GetDlgItem(IDC_EDIT_USERNAME)->SetFocus();

		pView->m_strUserName=L"";
		pView->m_bLogin=m_bSuccess;
		pView->m_strUserId=L"";

		return;
	}

}

这是登录界面(丑陋版):

我的个人博客地址:http://ler.look.in

LER-Studio 产品官网:http://studio.look.in

IDE开发<LER-Studio>(2)::登录模块的更多相关文章

  1. Qt的IDE开发环境(KDevelop,MonKey Studio,QDevlop,Dev-cpp,Cobras,Edyuk)

    讲到Qt的IDE开发环境,本人一直在Windows下使用VC6.0 + Qt4.3.1开发程序.但转到Linux下,使用Fedora中自带的KDevelop + Qt4.3.1开发程序. 最近一直做Q ...

  2. 基于localStorge开发登录模块的记住密码与自动登录

    前沿||我是乐于分享,善于交流的鸟窝 先做写一篇关于登录模块中记住密码与自动登录的模块.鸟窝微信:jkxx123321 关于这个模块功能模块的由来,这是鸟大大的处女秀,为什么这么说呢?一天在群里,一个 ...

  3. 移动IM开发指南3:如何优化登录模块

    <移动IM开发指南>系列文章将会介绍一个IM APP的方方面面,包括技术选型.登陆优化等.此外,本文作者会结合他在网易云信多年iOS IM SDK开发的经验,深度分析实际开发中的各种常见问 ...

  4. iPad开发--QQ空间布局,登录模块

    一.登录模块 登录逻辑 - (IBAction)loginClick:(UIButton *)sender { self.view.userInteractionEnabled = NO; [self ...

  5. 从微信小程序到鸿蒙js开发【08】——表单组件&注册登录模块

    目录: 1.登录模块 2.注册模块 3.系列文章导读 牛年将至,祝大家行行无bug,页页so easy- 在微信小程序中,提供了form组件,可以将input.picker.slider.button ...

  6. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. Web应用程序系统的多用户权限控制设计及实现-登录模块【4】

    通过前三个模块的介绍,把web权限系统开发所需要的基本类,Css文件,EasyUI框架等准备好后,就可以着手开始系统的编码了. 登陆模块是权限处理系统的关键,根据输入用户的的信息,可自动从数据库中加载 ...

  8. 虚拟机安装中文Fedora14和C/C++IDE开发环境

    虚拟机安装中文Fedora14和C/C++IDE开发环境 2010-12-05 00:15:58 标签:中文Fedora14 IDE 开发环境 C/C++ 原创作品,允许转载,转载时请务必以超链接形式 ...

  9. Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)【2.源代码简要说明】

    GitHub:https://github.com/iccb1013/Sheng.Winform.IDE 在上一篇文章中,简要的介绍了  Sheng.Winform.IDE 的基本功能和要实现的目标: ...

随机推荐

  1. Miller-Rabin素性测试(POJ3641)

    一.概念引入 在以往判断一个数n是不是素数时,我们都是采用i从2到sqrt(n)能否整除n.如果能整除,则n是合数;否则是素数.但是该算法的时间复杂度为O(sqrt(n)),当n较大时,时间性能很差, ...

  2. 小波变换和motion信号处理(一)(转)

    写的太好,不得不转:http://www.kunli.info/2011/02/15/fourier-wavelet-motion-signal-1/ 这是<小波变换和motion信号处理> ...

  3. pytho

    字符串格式化:求模操作符%可以用来将其他值转换为包含转换标志的字符串,对值进行不同方法的格式化,左右对齐,字段宽度精度,增加符号,左填充数字 字符串方法join split istitle capit ...

  4. Cocos2d-x MultipleTouch & CCControllButton's confusion

    在cocos2dx的程序设计中有时候会遇到需要多点触摸的功能,下面先介绍一下在cocos2dx中多点触摸的一般规则,然后介绍我遇到的一个有关多点触摸的情景的解决方案. (一)使用多点触摸规则: 关于多 ...

  5. 分页存储过程--From:桌面备份 -> sql2005新功能.docx

    二.以下示例将返回行号为 50 到 60(含)的行,并以 OrderDate 排序. USE AdventureWorks; GO WITH OrderedOrders AS (SELECT Sale ...

  6. [React] Using the classnames library for conditional CSS

    Classnames is a simple yet versatile javascript utility that joins CSS class names based on a set of ...

  7. apache配置directoryindex

    为了让程序自动执行目录下的某个文件,可以配置虚拟主机中的directoryindex 如: <VirtualHost *:80>    DocumentRoot "D:/var/ ...

  8. Nginx下载服务生产服务器调优

    一.内存调优 内核关于内存的选项都在/proc/sys/vm目录下.   1.pdflush,用于回写内存中的脏数据到硬盘.可以通过 /proc/sys/vm/vm.dirty_background_ ...

  9. 合并两个vectcor——2013-08-26

    vector<int> v1; vector<int> v2; for(int i=0; i<5; i++) { v1.push_back(i); if(i%2==1) ...

  10. SoundPool没有声音的问题

    在项目中需要播放一个提示,很短的一个声音,Android中播放声音有两种方式:MediaPlayer和SoundPool.相对来说SoundPool比较轻量级一些,多用在播放比较短急的声音,Media ...