MFC编写一个简单的登录对话框连数据库Word文档格式.docx
- 文档编号:7381899
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:16
- 大小:1.72MB
MFC编写一个简单的登录对话框连数据库Word文档格式.docx
《MFC编写一个简单的登录对话框连数据库Word文档格式.docx》由会员分享,可在线阅读,更多相关《MFC编写一个简单的登录对话框连数据库Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。
在弹出的标题中填写:
输入用户名:
。
然后回车
同样在下面的第二个静态文本框的属性标题改为:
输入密码:
然后回车。
6、在第一个文本编辑框上右键单击,点击属性,把ID框中的IDC_EDIT1改为容易理解的名字,如:
IDC_EDIT_NAME,注意前面的IDC_EDIT最好不要去掉,这样容易见名而知义。
同样,对第二个文本编辑框的属性中的IDC_EDIT2改为:
IDC_EDIT_PWD
7、在对话框上的任何空白的地方右键单击,点击建立类向导。
然后弹出
选择建立Createanewclass,点击OK。
这是为这个对话框创建一个新的类。
在Name中,为该对话框类取个名字:
CDlg_login。
下面的Baseclass以及DialogID不要随便改动。
然后点击OK。
这样新的类CDlg_login就与本对话框建立起了联系。
8、点击OK后,我们并没有退出建立类向导。
点击membervariables。
9、左键双击IDC_EDIT_NAME(或者单击后,点击右边的addvariables),为IDC_EDIT_NAME增加一个对应在类中的名字:
m_login_name。
其他地方不要改动。
点击OK。
同样也对IDC_EDIT_PWD也取一个名字:
m_login_pwd。
10、点击确定。
这样我们就建立好了登录对话框以及其对应的类CDlg_login。
我们在ClassView里面可以看到我们新加入类CDlg_login。
11、我们注意到右边的对话框的标题栏上依然还是Dialog,我们可以在对话框空白的地方单击右键,点击属性,在标题中输入:
请登录。
12、这个时候如果编译运行的话,该对话框并不会自动弹出来。
我们要让程序开始运行的时候自动弹出登录对话框。
点击右边的FileView,点击sourcefiles,双击MainFrm.cpp。
这样在右边就打开了该文件。
找到CMainFrame:
:
OnCreate(LPCREATESTRUCTlpCreateStruct),这是窗体框架创建函数。
在该函数的后面(在return0
;
的前面)加入语句(注意大小写):
CDlg_logindlg;
//生成一个登录对话框对象
dlg.DoModal();
//让对话框对象以有模式形式显示出来
这个时候编译肯定会出错,我们要在MainFrm.cpp文件的前面添加:
#include"
dlg_login.h"
编译后错误消失。
运行结果如下。
13、在运行过程中,点击OK后,主窗体会显示出来,我们并没有在用户名以及密码框中输入。
下面我们要求输入正确的用户名和密码,主窗体才能显示出来。
14、点击左边的ResourceView,双击Dialog中的IDD_DIALOG1,然后双击右边的OK按钮,
要求增加一个成员函数,点击OK即可。
我们将在下面的截图所在的voidCDlg_login:
OnOK()函数中进行编程。
15、在voidCDlg_login:
OnOK()函加入如下代码:
voidCDlg_login:
OnOK()
{
//TODO:
Addextravalidationhere
this->
UpdateData(true);
if(this->
m_login_name=="
math"
&
&
m_login_pwd=="
1234"
)
CDialog:
OnOK();
else
MessageBox("
登录有误"
);
}
编译运行即可实现我们的要求了。
16、等等,我们发现输入密码的时候是明码,不是星号显示的。
我们还要在登录对话框的密码文本编辑框的属性中更改。
在登录对话框,右键点击密码文本框,点击属性,点击style,选中password回车即可。
17、本程序还有很多弊端,比如,关闭登录对话框也可以进行主窗体,点击cancel也可以进入,用户名和密码不能更改,这要求和数据库联系起来。
大家可以思考一下,怎么该进。
全文完毕。
18、现在连接数据库。
先利用access建立数据库,名字为book_db,并建好一个管理员表book_admin
19、为book_db建立数据源,打开控制面板,点击管理工具,点击打开数据源,添加系统dsn,
点击右边的添加,选择MicrosoftAccessDriver(*.mdb),给数据源取个名字比如:
book_db_dsn,
然后点击选择,选中刚才建立的book_db保存的位置,选中好该数据库,点击确定即可。
最后点击确定完成了数据源的建立。
20、在MFC中建立ADO数据库连接
在stdafx.h文件中添加对ado的支持:
#import"
C:
\ProgramFiles\CommonFiles\System\ado\msado15.dll"
\
no_namespacerename("
EOF"
"
adoEOF"
#include<
icrsint.h>
在CDlg_login.h头文件中添加:
_ConnectionPtrm_pConnection;
_RecordsetPtrm_pRecordset;
21、连接数据源,在OnOk函数中输入如下:
:
CoInitialize(NULL);
m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pConnection->
Open("
DSN=book_db_dsn"
"
0);
//上面四行为打开数据源连接
CStringstr;
str.Format("
select*frombook_adminwhereadmin_name='
%s'
andadmin_pwd='
this->
m_login_name,this->
m_login_pwd);
BSTRbstrSQL=str.AllocSysString();
m_pRecordset->
Open(bstrSQL,(IDispatch*)this->
m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
if(!
this->
adoEOF)
Failed"
Close();
至此ADO数据源连接完毕。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 编写 一个 简单 登录 对话框 数据库