MFC之编写一个简单的登录对话框连数据库.docx

上传人:b****6 文档编号:15339304 上传时间:2023-07-03 格式:DOCX 页数:14 大小:1.23MB
下载 相关 举报
MFC之编写一个简单的登录对话框连数据库.docx_第1页
第1页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第2页
第2页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第3页
第3页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第4页
第4页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第5页
第5页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第6页
第6页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第7页
第7页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第8页
第8页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第9页
第9页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第10页
第10页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第11页
第11页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第12页
第12页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第13页
第13页 / 共14页
MFC之编写一个简单的登录对话框连数据库.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MFC之编写一个简单的登录对话框连数据库.docx

《MFC之编写一个简单的登录对话框连数据库.docx》由会员分享,可在线阅读,更多相关《MFC之编写一个简单的登录对话框连数据库.docx(14页珍藏版)》请在冰点文库上搜索。

MFC之编写一个简单的登录对话框连数据库.docx

MFC之编写一个简单的登录对话框连数据库

编写一个简单的登录对话框

大家好,我们利用MFC编写一个简单的登录对话框。

主窗体是单文档界面。

程序运行的时候,先弹出一个简单的登录对话框,输入用户名和密码后主窗体显示出来。

1、开打VC++6.0。

点击文件,新建,点击工程中的MFCAppWizard(exe),在右边选择工程保存的位置,并且为工程取好名字。

2、点击确定后,选择单个文档,你可以一直点击下一步,直到完成,或者在这里直接点击完成即可,完成后界面如下。

3、点击工具栏中的“!

”号试着编译运行一次,看是否有问题。

如果没有问题,我们继续。

InsertDialog上面鼠标右键单击弹出一弹出框,单击Dialog,在ResourceView点击左边的.

、在右边新增的对话框中,适当改变窗口大小,加入静态文本框和文本编辑框。

4

、鼠标右键单击刚才加进去的第一个静态文本框控件,点击属性。

在弹出的标题中填写:

5输入用户名:

然后回车

同样在下面的第二个静态文本框的属性标题改为:

输入密码:

然后回车。

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_NAMEm_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文件的前面添加:

椣据畬敤尠汤彧潬楧?

屨。

编译后错误消失。

运行结果如下。

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&&this->m_login_pwd==S4)

CDialog:

:

OnOK();

else

敍獳条?

硯尨登录有误);

}

编译运行即可实现我们的要求了。

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的支持:

#importC:

\ProgramFiles\CommonFiles\System\ado\msado15.dll\

no_namespacerename(EOF,adoEOF)

#include

在CDlg_login.h头文件中添加:

_ConnectionPtrm_pConnection;

_RecordsetPtrm_pRecordset;

21、连接数据源,在OnOk函数中输入如下:

voidCDlg_login:

:

OnOK()

{

//TODO:

Addextravalidationhere

this->UpdateData(true);

:

:

CoInitialize(NULL);

this->m_pConnection.CreateInstance(__uuidof(Connection));

this->m_pRecordset.CreateInstance(__uuidof(Recordset));

this->m_pConnection->Open(DSN=book_db_dsn,\,\,0);//上面四行为打开数据源连接

CStringstr;

str.Format(select*frombook_adminwhereadmin_name='%s'and

admin_pwd='%s',this->m_login_name,this->m_login_pwd);

BSTRbstrSQL=str.AllocSysString();

this->m_pRecordset->Open(bstrSQL,(IDispatch*)this->m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);

if(!

this->m_pRecordset->adoEOF)

CDialog:

:

OnOK();

else

MessageBox(Failed);

this->m_pRecordset->Close();

this->m_pConnection->Close();

}

数据源连接完毕。

ADO至此.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2