学生信息管理系统编码阶段文档.docx

上传人:罗晋 文档编号:10705221 上传时间:2021-05-31 格式:DOCX 页数:23 大小:24.73KB
返回 下载 相关 举报
学生信息管理系统编码阶段文档.docx_第1页
第1页 / 共23页
学生信息管理系统编码阶段文档.docx_第2页
第2页 / 共23页
学生信息管理系统编码阶段文档.docx_第3页
第3页 / 共23页
学生信息管理系统编码阶段文档.docx_第4页
第4页 / 共23页
学生信息管理系统编码阶段文档.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《学生信息管理系统编码阶段文档.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统编码阶段文档.docx(23页珍藏版)》请在三一文库上搜索。

1、学 生 信 息 管 理 系 统 编 码 阶 段 文 档撰稿人:陈华军许凤珍詹春霞信息工程学院111班目录1 引言 31.1 编写目的 31.2 引用标准 31.3 参考资料 31.4 范围 31.5 术语定义 31.6 版本更新信息 32 代 42.1 连接数据库 42.2 登录代 42.3 注册代 92.4 违规处理代 / 初始化处理窗口代 142.5 管理员管理用户 211引言1.1 编写目的该文档是对学生信息管理系统项目的编码规范和代码说明。1.2 引用标准企业文档格式标准V1.1,北京长江有限公司软件详细设计报告格式标准V1.1,北京长江有限公司软件工程过程化组织1.3 参考资料实战S

2、tructs , Ted Hustes .机械工业出版社管理信息系统。清华大学出版社1.4 范围该文档定义了本项目的代码具体内容及说明。1.5 术语定义Class (类):Android程序中的一个程序单位,可以生成很多实例。Packages (包);由很多类组成的工作包。1.6 版本更新信息编号修改日期修改后版本修改位置修改内容概述0002 代码2.1 连接数据库if (CoInitialize(NULL)!=0) AfxMessageBox(初始化COM支持库失败!”);exit(1);tryCString strConnect;strConnect.Format(DSN=myastude

3、ntsys;);if(m_DB.Open(NULL,false,false,ODBC;DSN=mystudentsys;UID=Sa;PWD=;)=0) AfxMessageBox(Unable to Connect to the Specified Data Source);return FALSE catch(CDBException *pE) pE-ReportError();pE-Delete();return FALSE;2.2 登录代码以下为总表查询的源代码:CZongbiao message handlers void Clogindlg:OnButton1() if (CBut

4、ton*)GetDlgItem(IDC_RADIO1)-GetCheck() MessageBox(1 被选中,MB_OK);UpdateData(TRUE);if(m_name.IsEmpty() | m_pw.IsEmpty()MessageBox(用户名或密码不能为空);return;m_Num+;CString sql;sql.Format(select * from tb_studentuser where username= %s and pwd = %s,m_name,m_pw);m_LoginSets = new Cloginsets(&(CMystudentApp*)AfxG

5、etApp()-m_DB);if(!m_LoginSets-Open(AFX_DB_USE_DEFAULT_TYPE,sql) AfxMessageBox(tb_studentuser 表打开失败!);if(m_LoginSets-GetRecordCount()!=0) yonghuming=m_name;mima=m_pw; Cstudentdlg dlg;CDialog:OnOK();dlg.DoModal(); else if(m_Num = 3)MessageBox(密码3次不正确);CDialog:OnCancel(); else MessageBox(用户名或密码不正确);mna

6、me =HH.m_pw =HH.UpdateData(FALSE);if(m_LoginSets-IsOpen() m_LoginSets-Close();delete m_LoginSets;else if (CButton*)GetDlgItem(IDC_RADIO2)-GetCheck() MessageBox(2被选中,MB_OK);UpdateData(TRUE);if(m_name.IsEmpty() | m_pw.IsEmpty() MessageBox(用户名或密码不能为空);return; m_Num+;CString sql;sql.Format(select * from

7、 tb_teacheruser where username= %s and pwd = %s,m_name,m_pw);m_LoginSett = new Cloginsett(&(CMystudentApp*)AfxGetApp()-m_DB);if(!m_LoginSett-Open(AFX_DB_USE_DEFAULT_TYPE,sql) AfxMessageBox(tb_teacheruser 表打开失败!); if(m_LoginSett-GetRecordCount()!=0)yonghuming=m_name;mima=m_pw;Cteacherdlg2 dlg2;CDialo

8、g:OnOK();dlg2.DoModal(); else if(m_Num = 3)MessageBox(密码3次不正确);CDialog:OnCancel(); else MessageBox(用户名或密码不正确);m_name = ;m_pw = ;UpdateData(FALSE);if(m_LoginSett-IsOpen()m_LoginSett-Close();delete m_LoginSett; else if (CButton*)GetDlgItem(IDC_RADIO3)-GetCheck()MessageBox(3被选中,MB_OK);UpdateData(TRUE);

9、 / 编辑器里的值读到对应的窗口类中的成员变量if(m_name.IsEmpty() | m_pw.IsEmpty() MessageBox(用户名或密码不能为空);return;m_Num+;CString sql;sql.Format(select * from tb_user where username1 = % s and pwd1 = %s,m_name,m_pw);m_LoginSet = new Cloginset(&(CMystudentApp*)AfxGetApp()-m_DB);if(!m_LoginSet-Open(AFX_DB_USE_DEFAULT_TYPE,sql

10、) AfxMessageBox(tb_user 表打开失败!);if(m_LoginSet-GetRecordCount()!=0)yonghuming=m_name;mima=m_pw;Cmangerdlg dlg;CDialog:OnOK();dlg.DoModal(); else if(m_Num = 3)CDialog:OnCancel();MessageBox(密码3次不正确);elseMessageBox(用户名或密码不正确); m_name = ; m_pw = ;UpdateData(FALSE); if(m_LoginSet-IsOpen() m_LoginSet-Close

11、(); delete m_LoginSet; 2.3 注册代码 void Clogondlg:OnOK() / TODO: Add extra validation hereif (CButton*)GetDlgItem(IDC_RADIO1)-GetCheck() UpdateData(TRUE);if(m_oname.IsEmpty() | m_opwd.IsEmpty() MessageBox(用户名或密码不能为空);return;/ m_Num+;CString sql;sql.Format(select * from tb_studentuser where username = %

12、s,m_oname,m_opwd);m_LoginSets = new Cloginsets(&(CMystudentApp*)AfxGetApp()- m_DB);if(!m_LoginSets-Open(AFX_DB_USE_DEFAULT_TYPE,sql) AfxMessageBox(tb_studentuser 表打开失败!);if(m_LoginSets-GetRecordCount()!=0) AfxMessageBox(用户名已经存在”);if(m_LoginSets-IsOpen()m_LoginSets-Close();delete m_LoginSets;return;

13、else m_LoginSets-AddNew();m_LoginSets-m_username=m_oname;m_LoginSets-m_pwd=m_opwd;m_LoginSets-Update();m_LoginSets-Requery();AfxMessageBox(注册成功); if(m_LoginSets-IsOpen() m_LoginSets-Close();delete m_LoginSets; else if (CButton*)GetDlgItem(IDC_RADIO2)-GetCheck()MessageBox(2被选中,MB_OK);UpdateData(TRUE)

14、;if(m_oname.IsEmpty() | m_opwd.IsEmpty() MessageBox(用户名或密码不能为空);return;/ m_Num+;CString sql;sql.Format(select * from tb_teacheruser where username = %s,m_oname,m_opwd);m_LoginSett = new Cloginsett(&(CMystudentApp*)AfxGetApp()- m_DB);if(!m_LoginSett-Open(AFX_DB_USE_DEFAULT_TYPE,sql) AfxMessageBox(tb_

15、teacheruser 表打开失败!);if(m_LoginSett-GetRecordCount()!=0) AfxMessageBox(用户名已经存在);if(m_LoginSett-IsOpen()m_LoginSett;m_LoginSett-Close();delete return; else m_LoginSett-AddNew();m_LoginSett-m_username=m_oname;m_LoginSett-m_pwd=m_opwd;m_LoginSett-Update();m_LoginSett-Requery();AfxMessageBox(注册成功); if(m_

16、LoginSett-IsOpen() m_LoginSett-Close();delete m_LoginSett; else if (CButton*)GetDlgItem(IDC_RADIO3)-GetCheck() II MessageBox(3被选中,MB_OK); UpdateData(TRUE);/ 编 辑器里的值读到对应的窗口类中的成员变量中if(m_oname.IsEmpty() | m_opwd.IsEmpty() MessageBox(用户名或密码不能为空);return;/ m_Num+;CString sql;sql.Format(select * from tb_us

17、er where username1 = %s ,m_oname,m_opwd);m_LoginSet = new Cloginset(&(CMystudentApp*)AfxGetApp()-m_ DB);if(!m_LoginSet-Open(AFX_DB_USE_DEFAULT_TYPE,sql) AfxMessageBox(tb_user 表打开失败!); if(m_LoginSet-GetRecordCount()!=0) AfxMessageBox(用户名已经存在”);if(m_LoginSet-IsOpen()m_LoginSet-Close();delete m_LoginSe

18、t;return; else m_LoginSet-AddNew();m_LoginSet-m_username1=m_oname;m_LoginSet-m_pwd1=m_opwd;m_LoginSet-Update();m_LoginSet-Requery();AfxMessageBox(注册成功);m_LoginSet-Close();delete m_LoginSet; CDialog:OnOK();2.4 违规处理代码 / 初始化处理窗口代码void Cregbreakstudentdlg:OnBreakSearch() / TODO: Add your control notific

19、ation handler code UpdateData(true);m_breakdlg_list.DeleteAllItems();if(m_breakdlg_studentid.IsEmpty()AfxMessageBox(请输入学号);return;CString sql_break;sql_break=SELECT*FROMtb_regbreakinfoWHEREtb_regbreakinfo.studen tid=+m_breakdlg_studentid+;breakstudent=new Cbreakinfoset(&(CMystudentApp*)AfxGetApp()-m

20、_DB);if(!breakstudent-Open(AFX_DB_USE_DEFAULT_TYPE,s ql_break) AfxMessageBox(tb_regbreakinfo 打开失败 );CString sql_breakstudent;sql_breakstudent=SELECT*FROMtb_studentinfoWHEREtb_studentinfo.studentid=+m_breakdlg_studentid+;breakstudent1=new Caddstudentset(&(CMystudentApp*)AfxGetApp()-m_DB);if(!breakstu

21、dent1-Open(AFX_DB_USE_DEFAULT_TYPE,sql_breakstudent )AfxMessageBox(tb_studentinfo 打开失败 ); if(breakstudent1-GetRecordCount()=0)AfxMessageBox( 此学号不存在);if(breakstudent1-IsOpen()breakstudent1-Close();delete breakstudent1;return;if(breakstudent-GetRecordCount()=0)AfxMessageBox(无此学生违规记录);m_breakdlg_name=b

22、reakstudent1-m_studentname;m_breakdlg_class=breakstudent1-m_class;UpdateData(false);if(breakstudent-IsOpen()breakstudent-Close();delete breakstudent; return; CString recontent;CString reresult;CString remeno;CString redate;CTime tdate;int i=0;while(!breakstudent-IsEOF() recontent=breakstudent-m_brea

23、kcontent;reresult=breakstudent-m_handleresult;remeno=breakstudent-m_memo;tdate=breakstudent-m_breaktime;redate=tdate.Format(%d/%m/%y);m_breakdlg_list.InsertItem(i,);m_breakdlg_list.SetItemText(i,0,recontent);m_breakdlg_list.SetItemText(i,1,reresult);m_breakdlg_list.SetItemText(i,2,remeno);m_breakdlg

24、_list.SetItemText(i,3,redate);breakstudent-MoveNext();i+;breakstudent-MoveFirst();m_breakdlg_name=breakstudent1-m_studentname;m_breakdlg_class=breakstudent1-m_class;UpdateData(false);if(breakstudent1-IsOpen() breakstudent1-Close();delete breakstudent1;if(breakstudent-IsOpen()breakstudent-Close();del

25、ete breakstudent;/ 根据选择对数据进行相应操作代码void Cbreakhandledlg:OnSure() / TODO: Add your control notification handler code heif(x=1)/ 添 加 x 为 外 部 变 量 用 来 在 两 个 cpp 文 件 间 传递UpdateData(true);if(m_breakdlg2_connet.IsEmpty()|m_breakdlg2_result.IsEmpty()AfxMessageBox( 违规内容违规时间 处理结果不能为空);return;int i;while(!break

26、infostudent-IsEOF()breakinfostudent-MoveNext();i= breakinfostudent-GetRecordCount();/* CString str;str.Format(i=%d,i);AfxMessageBox(str);*/breakinfostudent-AddNew();breakinfostudent-m_breakid=i+1;breakinfostudent-m_breakcontent=m_breakdlg2_connet;breakinfostudent-m_handleresult=m_breakdlg2_result;br

27、eakinfostudent-m_breaktime=m_breakdlg2_time;breakinfostudent-m_studentid=m_breakstudentid;breakinfostudent-m_memo=m_breakdlg2_meno;/ AfxMessageBox(3);breakinfostudent-Update();breakinfostudent-Requery();AfxMessageBox(添力口记录成功”);m_breakdlg2_connet=;m_breakdlg2_result=;m_breakdlg2_time=CTime:GetCurrent

28、Time();m_breakdlg2_meno=;UpdateData(FALSE); else if(x=2) / 删除 if(handlebreakstudent-GetRecordCount()!=0)m_breakdlg2_connet=handlebreakstudent-m_breakco ntent;m_breakdlg2_result=handlebreakstudent-m_handleresult;m_breakdlg2_time=handlebreakstudent-m_breaktime;m_breakdlg2_meno=handlebreakstudent-m_mem

29、o;UpdateData(false);handlebreakstudent-Delete();AfxMessageBox(删除记录成功);handlebreakstudent-Requery();if(handlebreakstudent-GetRecordCount()!=0)m_breakdlg2_connet=handlebreakstudent-m_breakcontent;m_breakdlg2_result=handlebreak student-m_handleresult;m_breakdlg2_time=handlebreakstudent-m_break time;m_b

30、reakdlg2_meno=handlebreakstudent-m_memo;elsem_breakdlg2_connet=;m_breakdlg2_result=;m_breakdlg2_time=CTime:GetCurrentTime();m_breakdlg2_meno=;UpdateData(FALSE);elseAfxMessageBox(无记录可删除);return; else /* m_breakdlg2_connet= handlebreakstudent-m_breakcontent;m_breakdlg2_result=handlebreakstudent-m_hand

31、leresult;m_breakdlg2_time=handlebreakstudent-m_breaktime;m_breakdlg2_meno=handlebreakstudent-m_memo;UpdateData(false);*/if(handlebreakstudent-GetRecordCount()=0) AfxMessageBox(无记录可编辑);return;UpdateData(true);if(m_breakdlg2_connet.IsEmpty()|m_breakdlg2_result.IsEmpty() AfxMessageBox( 违规内容违规时间 处理结果不能为

32、空);return;if(handlebreakstudent-GetRecordCount()!=0) handlebreakstudent-Edit();handlebreakstudent-m_breakcontent=m_breakdlg2_connet;andlebreakstudent-m_handleresult=m_breakdlg2_result;handlebreakstudent-m_breaktime=m_breakdlg2_time;handlebreakstudent-m_memo=m_breakdlg2_meno; handlebreakstudent-Updat

33、e();handlebreakstudent-Requery();AfxMessageBox(更新记录成功”);elseAfxMessageBox(无记录可编辑);2.5 管理员管理用户以下为缺货查询的代码/CQuehuoDlg dialog void Chandleuserdlg:OnDelete() / TODO: Add your control notification handler code hereif(p=0)else if(p=1)UpdateData(TRUE);if(yonghuming!=m_userdlg_name)AfxMessageBox(用户名不能修改);m_u

34、serdlg_name=yonghuming;UpdateData(FALSE);return;mangeruser-Edit();mangeruser-m_pwd1=m_userdlg_pwd;mangeruser-Update();AfxMessageBox(修改成功!”);mima = mangeruser-m_pwd1;CStringuname;CStringupwd;uname=yonghuming;upwd=mima;m_userdlg_list.DeleteAllItems();m_userdlg_list.InsertItem(0,);m_userdlg_list.SetIte

35、mText(0,0,uname);m_userdlg_list.SetItemText(0,1,upwd);m_userdlg_name=yonghuming;m_userdlg_pwd=mima;UpdateData(FALSE);mangeruser-Requery();else if(p=2)if (teacheruser-GetRecordCount()!=0) teacheruser-Delete(); teacheruser-Requery();AfxMessageBox(删除成功!”);/* if (!teacheruser-IsEOF()teacheruser-MoveNext

36、();*/ else AfxMessageBox(无记录可删除);return;m_userdlg_list.DeleteAllItems();int q=0;CStringuname;CStringupwd;teacheruser-MoveFirst();while(!teacheruser-IsEOF()uname=teacheruser-m_username;upwd=teacheruser-m_pwd;m_userdlg_list.InsertItem(q,);m_userdlg_list.SetItemText(q,0,uname);m_userdlg_list.SetItemTex

37、t(q,1,upwd);teacheruser-MoveNext();q+;teacheruser-MoveFirst();m_userdlg_name=teacheruser-m_username;m_userdlg_pwd=teacheruser-m_pwd;UpdateData(FALSE); else if(p=3)if (studentuser-GetRecordCount()!=0)studentuser-Delete();studentuser-Requery();AfxMessageBox(删除成功!”);/* if (!studentuser-IsEOF()studentus

38、er-MoveNext();*/ else AfxMessageBox(无记录可删除);return; m_userdlg_list.DeleteAllItems();int q=0;CStringuname;CStringupwd;-MoveFirst();while(!studentuser-IsEOF()uname=studentuser-m_username;upwd=studentuser-m_pwd;m_userdlg_list.InsertItem(q,);m_userdlg_list.SetItemText(q,0,uname);m_userdlg_list.SetItemText(q,1,upwd);studentuser-MoveNext();q+;studentuser-MoveFirst();m_userdlg_name=studentuser-m_username;m_userdlg_pwd=studentuser-m_pwd;UpdateData(FALSE);

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1