據(jù)庫課程設(shè)計報告-成績管理系統(tǒng)_第1頁
據(jù)庫課程設(shè)計報告-成績管理系統(tǒng)_第2頁
據(jù)庫課程設(shè)計報告-成績管理系統(tǒng)_第3頁
據(jù)庫課程設(shè)計報告-成績管理系統(tǒng)_第4頁
據(jù)庫課程設(shè)計報告-成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

組長:16號何*組員:171820開發(fā)完成時間:2004-2-改等為保正學(xué)生資料的統(tǒng)一和更便于管理,本系統(tǒng)軟件增加了學(xué)生信息部分。需求分析:按照用戶的要求,該數(shù)據(jù)庫管理系統(tǒng)目標(biāo)要實(shí)現(xiàn)對學(xué)生各科成績(平時如總評成績不及格的要補(bǔ)考,補(bǔ)考不及格的要重修。打印成績各類成績單和補(bǔ)考、重修通知書。并要求根據(jù)成績評選出優(yōu)秀學(xué)生。管理系統(tǒng)中除了要包括以上的功能外,還要實(shí)現(xiàn)基本的管理工作,例如添加學(xué)生成績、修改學(xué)生成績、刪除成績,由平時成績和考試成績,算出學(xué)生的總評成績;;;;;學(xué)學(xué) 課程專業(yè)負(fù)責(zé);;;;學(xué)生—成績表(學(xué)號、成績課程—成績表(課程代碼、成績考試類型—成績表(考試代碼、成績VisualC++SQLserver數(shù)據(jù)庫開發(fā)而成,Windows環(huán)境。操作方便、直觀、快捷、高效。VisualC++開發(fā)數(shù)據(jù)庫技術(shù)的特點(diǎn):VisualC++——ODBCAPI、MFCODBC、DAO、OLEDB、ADO等。這些技術(shù)各有自己的特點(diǎn),ADO。本軟件選用 server數(shù)據(jù)庫Language)SQL語言作為查詢語言?!ぁぁぁこ煽儾樵儾僮鹘缑嫒缦拢罕鞠到y(tǒng)提供四個組合條件輸入框供用戶選擇使(專業(yè)名稱、系名)中的一種或多種組合,條件組合方式有(與、或、非,還可以進(jìn)行模糊查詢,如學(xué)號的前幾位吻合或姓氏相同等?!ぁぁぁぁぁぁぁぁぁぁl件查詢出來的學(xué)生信息)Excel顯示出來。Excel表格形式打印。當(dāng)用戶操作進(jìn)入某個表格時(學(xué)生信息、各類成績、某個查詢等,都可以選擇打印功能。系統(tǒng)將以ExcelCStringszSQL="DELETEFROMWHERE//按組分//把所有學(xué)生和它選課szSQL="SELECTFROMWHERE'01')OR碼='02')GROUPBY學(xué)號,課程代碼";SQL1.Format("SELECTFROMWHERE'01ANDs')AND(課程代碼='%s')",szSno,szCno);SQL2.Format("SELECTFROMWHERE'02ANDs')AND(課程代碼='%s')",szSno,szCno); szSQL="SELECT班級名稱,學(xué)生基本信息.學(xué)號,姓名,課程名稱,考試名稱,成績,專FROM信息,系別信息WHERE系別信息.系別代碼=專業(yè)信息.所屬系別AND專業(yè)信息.專業(yè)代碼=班級信息.所屬專業(yè)AND成績表.學(xué)號=學(xué)生基本信息.學(xué)號AND成AND息.班級代碼AND成績表.課程代碼=課程信息.課程代碼";//再在后面加上條件,還有處理范圍where條件語句省略。szSQLlast.FormatAND%sANDszSQL+=szSQL="SELECTFROM信息,系別信息WHERE系別信息.系別代碼=專業(yè)信息.所屬系別AND專業(yè)信息.專業(yè)代碼=班級信息.所屬專業(yè)AND成績表.學(xué)號=學(xué)生基本信息.學(xué)號AND成AND息.班級代碼AND成績表.課程代碼=課程信息.課程代碼";//ANDAND<60)or考試名稱='總評成績'AND成績<40))szSQLlast.Formats'",b_Ename);szSQL1+=szSQLlast;szSQLlast.FormatANDs",b_Score);szSQL1+=szSQLlast;szSQL2="考試類型代碼.考試名稱='總評成績'";szSQLlast.FormatANDs",b_MiniScore);szSQL2+=szSQLlast;szSQLlast.Format("AND((%s)or(%s))",szSQL1,szSQL2);szSQL+=szSQLlast;CStringszSQLdel="DELETEFROMT_ szSQLdelstu="UPDATESETNULL//把所有學(xué)生和它選課CStringszSQL="SELECTFROMGROUPBYSQL1.Format("SELECT成績FROM成績表,考試類型代碼WHERE成績表.考試代碼=ANDAND='%s')AND(課程代碼='%s')",szSno,szCno);SQL1.Format("SELECT成績FROM成績表,考試類型代碼WHERE成績表.考試代碼=ANDAND='%s')AND(課程代碼='%s')",szSno,szCno);SQL1.Format("SELECT成績FROM成績表,考試類型代碼WHERE成績表.考試代碼=ANDAND='%s')AND(課程代碼='%s')",szSno,szCno);UpSQL.Format("UPDATE學(xué)生基本信息SET總得學(xué)分=%sWHERE(學(xué)號=szSQL="SELECTFROM別信息WHERE系別信息.系別代碼=專業(yè)信息.所屬系別AND專業(yè)信息.專業(yè)代碼=ANDAND考試類型代碼.考試代碼AND學(xué)生基本信息.所屬班級=班級信息.班級代碼AND成績表.課程代碼=課程信息.課程代碼";szSQLlast.Format("AND成績>=%s",b_Score);szSQL+=szSQLlast.Format(ANDs'",b_Ename);szSQL+=szSQLlast;_RecordsetPtr //CTreeCtrl*ptree=(CTreeCtrl*)GetDlgItem(IDC_TREE_class);HTREEITEMhroot1ptree->InsertItem("廣工全部學(xué)院",0,1);0//HTREEITEMhroot1=ptree->InsertItem(TVIF_TEXT,_T("廣工全部學(xué)院"),1,2,3,4,5,NULL,NULL);HTREEITEMhroot2,hroot3;CStringNostr,str;CStringszSQL"SELECT*FROM系別信息_variant_tvDno,vDname,vSno,vSname,vCno,vCname;pT_set1.CreateInstance(uuidof(Recordset));pT_set2.CreateInstance(uuidof(Recordset));pT_set3.CreateInstance(uuidof(Recordset));while(!pT_set1-vDno=pT_set1->GetCollect("系別代碼 //第一列的值,也可寫 ///----------->>szSQL="SELECT*FROM專業(yè)信息,系別信息where專業(yè)信息.所屬系別系別信息.系別代碼AND系別代碼='"+Nostr+"'"; //---->>>>szSQL="SELECT*FROM班級信息,專業(yè)信息where班級信息.所屬專業(yè)=專業(yè)信息.專業(yè)代碼AND專業(yè)代碼='"+Nostr+"'"; ComobListszSQL"SELECT*FROM學(xué)生基本信息CTreeCtrl*ptree=(CTreeCtrl*)GetDlgItem(IDC_TREE_class);HTREEITEMhitem=ptree->GetSelectedItem();//HTREEITEMhN=hitem;intn=0;while(hN&&hN!=ptree->GetRootItem())hN=ptree-ifm_nFlag==2)||m_nFlag==3)||m_nFlag==4))*b_Np=n;//返回給補(bǔ)考重修用if(hitem&&hitem!=ptree->GetRootItem())CStringszPar,szGra;HTREEITEMszSQL="SELECT學(xué)生基本信息.*FROM學(xué)生基本信息,系別信息,專業(yè)信息,班級信息where系別信息.系別代碼=專業(yè)信息.所屬系別and專業(yè)信息.專業(yè)代碼=班級信息.所屬專業(yè)and班級信息.班級代碼=學(xué)生基本信息.所屬班級";CStringszSDS=ptree-if((m_nFlag==2)||(m_nFlag==3)||(m_nFlag==4))*b_School=szSDS;switch(n)case //szSQL+="and系別信息.系名='"+szSDSszSDS+

case2: szPar=ptree- szSQL+="and系別信息.系名='"+szPar+"'and專業(yè)信息.專業(yè)名稱break;選中專業(yè)case3: //系 szSQL+="and系別信息.系名='"+szGra+"'and專業(yè)信息.專業(yè)名稱='"+szPar+"'and班級信息.班級名稱='"+szSDS+"'"; CString_variant_t_RecordsetPtrpCombo_Sno=(CComboBox*)GetDlgItem(IDC_CBO_Sno);pCombo_Sname=(CComboBox*)GetDlgItem(IDC_CBO_Sname);pT_set1.CreateInstance(uuidof(Recordset));(if if((Ctext1!="請選擇&&sql1.Format("%slike'%s",Ctext1,text1);if((Ctext2!="請選擇&&sql2.Format("%s%slike'%s",AR2,Ctext2,text2);if((Ctext3!="請選擇&&sql3.Format("%s%slike'%s",AR3,Ctext3,text3);if((Ctext4!="請選擇&&sql4.Format("%s%slikeif((Ctext1!="請選擇&&(!text1.IsEmpty()))sql1.Format("%s='%s'",Ctext1,text1);if((Ctext2!="請選擇...")&&(!text2.IsEmpty()))sql2.Format("%s%s'%s'",AR2,Ctext2,text2);if((Ctext3!="請選擇...")&&(!text3.IsEmpty()))sql3.Format("%s%s'%s'",AR3,Ctext3,text3);if((Ctext4!="請選擇...")&&(!text4.IsEmpty()))sql4.Format("%s%s'%s'",AR4,Ctext4,text4);szSQLlast.Format("ANDif(sql1.IsEmpty()&&(sql2.IsEmpty()||sql3.IsEmpty()||sql4.IsEmpty())) ANDOR刪除intfc=szSQLlast.Find("AND",4);if(fc!=-1) //AND

if(sql1.IsEmpty()&&sql2.IsEmpty()&&sql3.IsEmpty()&&sql4.IsEmpty())(NM_LISTVIEW*pNMListView=//TODO:Addyourcontrolnotificationhandlercode//pNMListView->iSubItem; CStringszSQL;if(pNMListView->iSubItem==m_nSortedCol)m_fAsc=!m_fAsc;m_fAsc=m_nSortedCol=pNMListView-switchcase0: if(m_fAsc)szSQLcurSQLORDERBY班級信息.班級名稱szSQL curSQLORDERBY班級信息.case1:ifszSQL curSQLORDERBY學(xué)生基本信息.學(xué)號szSQL curSQLORDERBY學(xué)生基本信息.case2:ifszSQL curSQLORDERBY學(xué)生基本信息.姓名szSQL curSQLORDERBY學(xué)生基本信息.case3:ifszSQL curSQLORDERBY課程信息.課程名稱szSQL curSQLORDERBY課程信息.case4:ifszSQL curSQLORDERBY考試類型代碼.考試名稱szSQL curSQLORDERBY考試類型代碼.case5:ifszSQL curSQLORDERBY成績表.成績szSQL curSQLORDERBY成績表.case6:if

szSQL curSQLORDERBY專業(yè)信息.專業(yè)名稱szSQL curSQLORDERBY專業(yè)信息.case7:ifszSQL curSQLORDERBY系別信息.系名szSQL curSQLORDERBY系別信息.szSQL=curSQL; //ListintfcpFrame->ConSQL.Find(“SQLServer”,0);if(fc!=-1) //SQLServerCstringCfileDialogdlgFileOpen(FALSE); try

catch(_com_error //accessCstringCfileDialogdlgFileOpen(FALSE);Dpath=(Cstring)dlgFileOpen.m_ofn.lpstrFile;CstringD_Right=Dpath.Right(3);

if(D_Right!=”mdb”)CstringConSQL,ConAccPath;ConSQL=pFrame-intfc=//ConAccPath=if(pFrame->m_pConnection->State)CfileSF,DF;CfileExceptionex;ifCfile::modeRead|Cfile::shareDenyWrite,

if(!DF.Open(Dpath,Cfile::modeWrite|Cfile::shareExclusive|Cfile::modeCreate,&ex))BYTEbuffer[4096];DWORDdwRead;//Readin4096-byte//rememberhowmanybyteswereactually//andtrytowritethatmanyout.Thisloop//whentherearenomorebytestoread.dwRead=SF.Read(buffer,4096);DF.Write(buffer,dwRead);while(dwRead>CstringMsg;Msg.Format(“Access數(shù)據(jù)庫已備份到%s”,Dpath);//Closebothfiles}//endcatch(_com_errorCstringerrormessage.Format(“數(shù)據(jù)庫連接超時!\r\n請檢查數(shù)據(jù)庫狀態(tài)!\r\n數(shù)據(jù)連接錯SQL catch(_com_error(//(Excel表格

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論