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

上传人:b****8 文档编号:10935369 上传时间:2023-02-23 格式:DOCX 页数:21 大小:18.83KB
下载 相关 举报
学生信息管理系统编码阶段文档.docx_第1页
第1页 / 共21页
学生信息管理系统编码阶段文档.docx_第2页
第2页 / 共21页
学生信息管理系统编码阶段文档.docx_第3页
第3页 / 共21页
学生信息管理系统编码阶段文档.docx_第4页
第4页 / 共21页
学生信息管理系统编码阶段文档.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

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

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

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

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

撰稿人:

陈华军许凤珍詹春霞

信息工程学院111班

 

目录

1引言2

1.1编写目的2

1.2引用标准2

1.3参考资料2

1.4范围2

1.5术语定义2

1.6版本更新信息2

2代码3

2.1连接数据库3

2.2登录代码3

2.3注册代码8

2.4违规处理代码 //初始化处理窗口代码13

2.5管理员管理用户20

1引言

1.1编写目的

该文档是对学生信息管理系统项目的编码规范和代码说明。

1.2引用标准

《企业文档格式标准》V1.1,北京长江有限公司

《软件详细设计报告格式标准》V1.1,北京长江有限公司软件工程过程化组织

1.3参考资料

《实战Structs》,TedHustes.机械工业出版社

《管理信息系统》。

清华大学出版社

1.4范围

该文档定义了本项目的代码具体内容及说明。

1.5术语定义

Class(类):

Android程序中的一个程序单位,可以生成很多实例。

Packages(包);由很多类组成的工作包。

1.6版本更新信息

编号

修改日期

修改后版本

修改位置

修改内容概述

000

2代码

2.1连接数据库 

if (CoInitialize(NULL)!

=0) {

AfxMessageBox("初始化COM支持库失败!

");               

exit

(1);                                                                  

}

 try{                                                                                    

 CString strConnect;; 

strConnect.Format("DSN=myastudentsys;"); 

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 (((CButton*)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*)AfxGetApp())->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("用户名或密码不正确");    

m_name = "";    

m_pw = "";    

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 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;           

CDialog:

:

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);//编辑器里的值读到对应的窗口类中的成员变量中  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))  { 

  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)   { 

   MessageBox("密码3次不正确");    

CDialog:

:

OnCancel();   

}   else   { 

   MessageBox("用户名或密码不正确");

m_name = "";    

m_pw = "";    

UpdateData(FALSE);   

}  

}  

if(m_LoginSet->IsOpen())  {   

m_LoginSet->Close();   

delete m_LoginSet;  

}  

}  

2.3注册代码 

 void Clogondlg:

:

OnOK()  {  

// TODO:

 Add extra validation here  

if (((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 = '%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;  

}  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);    

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_teacheruser 表打开失败!

");  

}  

if(m_LoginSett->GetRecordCount()!

=0)  {    

     AfxMessageBox("用户名已经存在");        

if(m_LoginSett->IsOpen())   {   

m_LoginSett->Close();delete m_LoginSett;   

}   

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_LoginSett->IsOpen())  {   

m_LoginSett->Close();   

delete m_LoginSett;  }  

} else if (((CButton*)GetDlgItem(IDC_RADIO3))->GetCheck()) { 

   // MessageBox("3被选中","",MB_OK);   

    UpdateData(TRUE);                //编辑器里的值读到对应的窗口类中的成员变量中  

if(m_oname.IsEmpty() || m_opwd.IsEmpty())  { 

  MessageBox("用户名或密码不能为空");   

return;  

// m_Num++;  

CString sql;  

sql.Format("select * from tb_user 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_LoginSet;   

}   

return;  

}  else  {    

m_LoginSet->AddNew(); 

m_LoginSet->m_username1=m_oname;       

m_LoginSet->m_pwd1=m_opwd;       

m_LoginSet->Update();       

m_LoginSet->Requery(); 

AfxMessageBox("注册成功");  

}  if(m_LoginSet->IsOpen())  {   

m_LoginSet->Close();   

delete m_LoginSet;  }  

}  CDialog:

:

OnOK(); 

}  

}  

2.4违规处理代码 //初始化处理窗口代码 

void Cregbreakstudentdlg:

:

OnBreakSearch()  {  

// TODO:

 Add your control notification handler code   

UpdateData(true); 

   m_breakdlg_list.DeleteAllItems();  

if(m_breakdlg_studentid.IsEmpty())  { 

  AfxMessageBox("请输入学号");   

return;  

   CString sql_break; 

sql_break="SELECT*FROMtb_regbreakinfoWHEREtb_regbreakinfo.studentid='"+m_breakdlg_studentid+"'"; 

    breakstudent=new  Cbreakinfoset(&((CMystudentApp*)AfxGetApp())->m_DB);if(!

breakstudent->Open(AFX_DB_USE_DEFAULT_TYPE,sql_break))  {    

  AfxMessageBox("tb_regbreakinfo 打开失败");  }  

    CString  sql_breakstudent;  

sql_breakstudent="SELECT*FROMtb_studentinfoWHERE 

tb_studentinfo.studentid='"+m_breakdlg_studentid+"' "; 

    breakstudent1=new  Caddstudentset(&((CMystudentApp*)AfxGetApp())->m_DB);  

if(!

breakstudent1->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=breakstudent1->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_breakcontent;    

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_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();            

delete breakstudent;   

}  

//根据选择对数据进行相应操作代码 

void Cbreakhandledlg:

:

OnSure()  {  

// TODO:

 Add your control notification handler code he 

 if(x==1)//添加x为外部变量用来在两个cpp文件间传递  {     

        UpdateData(true);    

if(m_breakdlg2_connet.IsEmpty()||m_breakdlg2_result.IsEmpty()){ 

    AfxMessageBox("违规内容 违规时间 处理结果 不能为空");     

return;   

}  

int i; 

whi

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

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1