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

下載本文檔

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

文檔簡(jiǎn)介

組長(zhǎng):16號(hào)何*組員:171820開(kāi)發(fā)完成時(shí)間:2004-2-改等為保正學(xué)生資料的統(tǒng)一和更便于管理,本系統(tǒng)軟件增加了學(xué)生信息部分。需求分析:按照用戶的要求,該數(shù)據(jù)庫(kù)管理系統(tǒng)目標(biāo)要實(shí)現(xiàn)對(duì)學(xué)生各科成績(jī)(平時(shí)如總評(píng)成績(jī)不及格的要補(bǔ)考,補(bǔ)考不及格的要重修。打印成績(jī)各類成績(jī)單和補(bǔ)考、重修通知書。并要求根據(jù)成績(jī)?cè)u(píng)選出優(yōu)秀學(xué)生。管理系統(tǒng)中除了要包括以上的功能外,還要實(shí)現(xiàn)基本的管理工作,例如添加學(xué)生成績(jī)、修改學(xué)生成績(jī)、刪除成績(jī),由平時(shí)成績(jī)和考試成績(jī),算出學(xué)生的總評(píng)成績(jī);;;;;學(xué)學(xué) 課程專業(yè)負(fù)責(zé);;;;學(xué)生—成績(jī)表(學(xué)號(hào)、成績(jī)課程—成績(jī)表(課程代碼、成績(jī)考試類型—成績(jī)表(考試代碼、成績(jī)VisualC++SQLserver數(shù)據(jù)庫(kù)開(kāi)發(fā)而成,Windows環(huán)境。操作方便、直觀、快捷、高效。VisualC++開(kāi)發(fā)數(shù)據(jù)庫(kù)技術(shù)的特點(diǎn):VisualC++——ODBCAPI、MFCODBC、DAO、OLEDB、ADO等。這些技術(shù)各有自己的特點(diǎn),ADO。本軟件選用 server數(shù)據(jù)庫(kù)Language)SQL語(yǔ)言作為查詢語(yǔ)言?!ぁぁぁこ煽?jī)查詢操作界面如下:本系統(tǒng)提供四個(gè)組合條件輸入框供用戶選擇使(專業(yè)名稱、系名)中的一種或多種組合,條件組合方式有(與、或、非,還可以進(jìn)行模糊查詢,如學(xué)號(hào)的前幾位吻合或姓氏相同等?!ぁぁぁぁぁぁぁぁぁぁl件查詢出來(lái)的學(xué)生信息)Excel顯示出來(lái)。Excel表格形式打印。當(dāng)用戶操作進(jìn)入某個(gè)表格時(shí)(學(xué)生信息、各類成績(jī)、某個(gè)查詢等,都可以選擇打印功能。系統(tǒng)將以ExcelCStringszSQL="DELETEFROMWHERE//按組分//把所有學(xué)生和它選課szSQL="SELECTFROMWHERE'01')OR碼='02')GROUPBY學(xué)號(hào),課程代碼";SQL1.Format("SELECTFROMWHERE'01ANDs')AND(課程代碼='%s')",szSno,szCno);SQL2.Format("SELECTFROMWHERE'02ANDs')AND(課程代碼='%s')",szSno,szCno); szSQL="SELECT班級(jí)名稱,學(xué)生基本信息.學(xué)號(hào),姓名,課程名稱,考試名稱,成績(jī),專FROM信息,系別信息WHERE系別信息.系別代碼=專業(yè)信息.所屬系別AND專業(yè)信息.專業(yè)代碼=班級(jí)信息.所屬專業(yè)AND成績(jī)表.學(xué)號(hào)=學(xué)生基本信息.學(xué)號(hào)AND成AND息.班級(jí)代碼AND成績(jī)表.課程代碼=課程信息.課程代碼";//再在后面加上條件,還有處理范圍where條件語(yǔ)句省略。szSQLlast.FormatAND%sANDszSQL+=szSQL="SELECTFROM信息,系別信息WHERE系別信息.系別代碼=專業(yè)信息.所屬系別AND專業(yè)信息.專業(yè)代碼=班級(jí)信息.所屬專業(yè)AND成績(jī)表.學(xué)號(hào)=學(xué)生基本信息.學(xué)號(hào)AND成AND息.班級(jí)代碼AND成績(jī)表.課程代碼=課程信息.課程代碼";//ANDAND<60)or考試名稱='總評(píng)成績(jī)'AND成績(jī)<40))szSQLlast.Formats'",b_Ename);szSQL1+=szSQLlast;szSQLlast.FormatANDs",b_Score);szSQL1+=szSQLlast;szSQL2="考試類型代碼.考試名稱='總評(píng)成績(jī)'";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成績(jī)FROM成績(jī)表,考試類型代碼WHERE成績(jī)表.考試代碼=ANDAND='%s')AND(課程代碼='%s')",szSno,szCno);SQL1.Format("SELECT成績(jī)FROM成績(jī)表,考試類型代碼WHERE成績(jī)表.考試代碼=ANDAND='%s')AND(課程代碼='%s')",szSno,szCno);SQL1.Format("SELECT成績(jī)FROM成績(jī)表,考試類型代碼WHERE成績(jī)表.考試代碼=ANDAND='%s')AND(課程代碼='%s')",szSno,szCno);UpSQL.Format("UPDATE學(xué)生基本信息SET總得學(xué)分=%sWHERE(學(xué)號(hào)=szSQL="SELECTFROM別信息WHERE系別信息.系別代碼=專業(yè)信息.所屬系別AND專業(yè)信息.專業(yè)代碼=ANDAND考試類型代碼.考試代碼AND學(xué)生基本信息.所屬班級(jí)=班級(jí)信息.班級(jí)代碼AND成績(jī)表.課程代碼=課程信息.課程代碼";szSQLlast.Format("AND成績(jī)>=%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班級(jí)信息,專業(yè)信息where班級(jí)信息.所屬專業(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è)信息,班級(jí)信息where系別信息.系別代碼=專業(yè)信息.所屬系別and專業(yè)信息.專業(yè)代碼=班級(jí)信息.所屬專業(yè)and班級(jí)信息.班級(jí)代碼=學(xué)生基本信息.所屬班級(jí)";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班級(jí)信息.班級(jí)名稱='"+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!="請(qǐng)選擇&&sql1.Format("%slike'%s",Ctext1,text1);if((Ctext2!="請(qǐng)選擇&&sql2.Format("%s%slike'%s",AR2,Ctext2,text2);if((Ctext3!="請(qǐng)選擇&&sql3.Format("%s%slike'%s",AR3,Ctext3,text3);if((Ctext4!="請(qǐng)選擇&&sql4.Format("%s%slikeif((Ctext1!="請(qǐng)選擇&&(!text1.IsEmpty()))sql1.Format("%s='%s'",Ctext1,text1);if((Ctext2!="請(qǐng)選擇...")&&(!text2.IsEmpty()))sql2.Format("%s%s'%s'",AR2,Ctext2,text2);if((Ctext3!="請(qǐng)選擇...")&&(!text3.IsEmpty()))sql3.Format("%s%s'%s'",AR3,Ctext3,text3);if((Ctext4!="請(qǐng)選擇...")&&(!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班級(jí)信息.班級(jí)名稱szSQL curSQLORDERBY班級(jí)信息.case1:ifszSQL curSQLORDERBY學(xué)生基本信息.學(xué)號(hào)szSQL curSQLORDERBY學(xué)生基本信息.case2:ifszSQL curSQLORDERBY學(xué)生基本信息.姓名szSQL curSQLORDERBY學(xué)生基本信息.case3:ifszSQL curSQLORDERBY課程信息.課程名稱szSQL curSQLORDERBY課程信息.case4:ifszSQL curSQLORDERBY考試類型代碼.考試名稱szSQL curSQLORDERBY考試類型代碼.case5:ifszSQL curSQLORDERBY成績(jī)表.成績(jī)szSQL curSQLORDERBY成績(jī)表.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ù)庫(kù)已備份到%s”,Dpath);//Closebothfiles}//endcatch(_com_errorCstringerrormessage.Format(“數(shù)據(jù)庫(kù)連接超時(shí)!\r\n請(qǐng)檢查數(shù)據(jù)庫(kù)狀態(tài)!\r\n數(shù)據(jù)連接錯(cuò)SQL catch(_com_error(//(Excel表格

溫馨提示

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

評(píng)論

0/150

提交評(píng)論