《编写一个简单的学生管理系统》由会员分享,可在线阅读,更多相关《编写一个简单的学生管理系统(15页珍藏版)》请在金锄头文库上搜索。
1、课程论文姓 名:朱冬冬 课程论文题目:编写一个简单的学生管理系统课程名称:面向对象程序设计评阅成绩:评阅意见:成绩评定教师签名:日期: 年 月 日编写一个简单的学生管理系统 一、学生管理系统的建立、 用户登录界面的建立 开打VC+6.0。点击文件,新建,点击工程中的MFC AppWizard(exe),在右边选择工程保存的位置,并且为工程取名字为Student_Manage_System。点击确定后,选择单个文档,你可以一直点击下一步,直到完成,或者在这里直接点击完成即可,完成后界面如下。 点击工具栏中的“!”号试着编译运行一次,发现没有出错。然后点击左边的ResourceView,在Dial
2、og上面鼠标右键单击弹出一弹出框,单击Insert Dialog。将新增的Dialog改名为用户登录,然后在右边新增的对话框中,适当改变窗口大小,加入静态文本框和文本编辑框。鼠标右键单击刚才加进去的第一个静态文本框控件,点击属性。在弹出的标题中填写:输入用户名:。然后关掉。同样在下面的第二个静态文本框的属性标题改为:输入密码:。然后关掉。在第一个文本编辑框上右键单击,点击属性,把ID框中的IDC_EDIT1改为IDC_EDIT_NAME_zhudongdong。同样,对第二个文本编辑框的属性中的IDC_EDIT2改为:IDC_EDIT_PWD_zhudongdong。在对话框上的任何空白的地方
3、右键单击,点击建立类向导。选择建立Create a new class,为该对话框类取个名字:CDlg_login。点击member variables,左键双击IDC_EDIT_NAME_zhudongdong(或者单击后,点击右边的add variables),为IDC_EDIT_NAME_zhudongdong增加一个对应在类中的名字:m_login_name_zhudongdong。点击OK。同样也对IDC_EDIT_PWD_zhudongdong也取一个名字:m_login_pwd_zhudongdong。点击右边的FileView,点击source files,双击MainFrm.
4、cpp。这样在右边就打开了该文件。找到CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct),这是窗体框架创建函数。在该函数的后面(在return 0;的前面)加入语句:CDlg_login dlg;/生成一个登录对话框对象dlg.DoModal();/让对话框对象以有模式形式显示出来在MainFrm.cpp文件的前面添加:#include dlg_login.h。运行结果如下点击左边的ResourceView,双击Dialog中的IDD_DIALOG1,然后双击右边的OK按钮,增加一个成员函数,点击OK, 在void CDlg_login:OnO
5、K()函数中进行编程。双击对话框的Cancel,然后点击OK,在void CDlg_login:OnCancel()函数中加入exit(1)即可。在对void CDlg_login:OnOK()函数进行编程之前,需要先建立一个数据库。先利用access建立数据库,名字为student_db。在student_db中编写内容截图如下:然后打开控制面板,点击管理工具,点击打开数据源,添加系统dsn。点击右边的添加,选择Microsoft Access Driver(*.mdb),给数据源取个名字为:book_db_dsn。最后点击确定完成了数据源的建立。在MFC中建立ADO数据库连接在stdafx
6、.h文件中添加对ado的支持:#import C:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF)#include在CDlg_login.h头文件中添加:_ConnectionPtr m_pConnection;_RecordsetPtr m_pRecordset;连接数据源,在OnOk函数中输入如下:void CDlg_login:OnOK() / TODO: Add extra validation herethis-UpdateData(true);:CoInitialize(NUL
7、L);this-m_pConnection.CreateInstance(_uuidof(Connection);this-m_pRecordset.CreateInstance(_uuidof(Recordset);this-m_pConnection-Open(DSN=student_db_dsn,0);/上面四行为打开数据源连接CString str;str.Format(select * from student_db where 用户名=%s and 密码=%s,this-m_login_name,this-m_login_pwd);BSTR bstrSQL=str.AllocSys
8、String();this-m_pRecordset-Open(bstrSQL,(IDispatch*)this-m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);if(!this-m_pRecordset-adoEOF)CDialog:OnOK();elseMessageBox(登录失败);CDlg_login dlg;/生成一个登录对话框对象 dlg.DoModal();/让对话框对象以有模式形式显示出来this-m_pRecordset-Close();this-m_pConnection-Close();为了好看,将用户登录
9、界面的对话框进行修改,并将密码的类型改为*,截图如下:、修改用户密码界面的建立在建立修改密码对话框之前,将前期工作先做好。点击左边的ResourceView,点击Menu中的IDR_MAINFRAME,然后在其中加入我们接下来要做的事情。截图如下:下面正式建立用户修改密码界面。前面的步骤与用户登录基本上差不多,只是在与数据库进行链接时,所插入的函数语句不同。void CDlg_Pwd_Modify:OnOK() / TODO: Add extra validation herethis-UpdateData(true);:CoInitialize(NULL);this-m_pConnectio
10、n.CreateInstance(_uuidof(Connection);this-m_pRecordset.CreateInstance(_uuidof(Recordset);this-m_pConnection-Open(DSN=student_manage_db_dsn,0);/上面四行为打开数据源连接CString str;if(this-m_pwd_zhudongdong1!=this-m_pwd_zhudongdong2)MessageBox(两次输入的密码不相同!);elsestr.Format(update student set 密码=%s where 用户名=%s and
11、密码=%s,this-m_pwd_zhudongdong1,this-m_name_zhudongdong ,this-m_old_pwd_zhudongdong);BSTR bstrSQL=str.AllocSysString();_variant_t RecordsAffected;this-m_pConnection-Execute(bstrSQL,&RecordsAffected,adCmdText);this-m_pConnection-Close();if(atoi(_bstr_t(RecordsAffected)=0)MessageBox(修改密码没有成功!);elseMessa
12、geBox(修改密码成功!);/CDialog:OnOK();对话框的截图如下:、增加用户界面的建立所要插入的函数语句为:this-UpdateData(true);:CoInitialize(NULL);this-m_pConnection.CreateInstance(_uuidof(Connection);this-m_pRecordset.CreateInstance(_uuidof(Recordset);this-m_pConnection-Open(DSN=student_manage_db_dsn,0);/上面四行为打开数据源连接CString str;str.Format(in
13、sert into student (用户名, 密码,年龄,性别) values (%s,%s,%s,%s),this-m_Add_MemName_zhudongdong,this-m_Add_MemPwd_zhudongdong,this-m_Add_MemOld_zhudongdong,this-m_Add_MemSex_zhudongdong );BSTR bstrSQL=str.AllocSysString();_variant_t RecordsAffected;this-m_pConnection-Execute(bstrSQL,&RecordsAffected,adCmdText
14、);this-m_pConnection-Close();if(atoi(_bstr_t(RecordsAffected)=0)MessageBox(增加用户操作没有成功!);elseMessageBox(增加用户操作成功!);截图如下:、删除用户界面的建立所要插入的函数语句为:void CDlg_Mem_Delete:OnOK() / TODO: Add extra validation herethis-UpdateData(true);:CoInitialize(NULL);this-m_pConnection.CreateInstance(_uuidof(Connection);this-m_pRecordset.CreateInstance(_uuidof(Recordset);this-m_pConnection-Open(DSN=student_manage_db_dsn,0);/上面四行为打开数据源连接CString str;str.For