VC的學(xué)生信息管理完整_第1頁(yè)
VC的學(xué)生信息管理完整_第2頁(yè)
已閱讀5頁(yè),還剩6頁(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)介

1、Visual C+程序設(shè)計(jì) 課程設(shè)計(jì)報(bào)告班級(jí): 計(jì)算機(jī)系軟件Z102班 姓名:曹立紅 學(xué)號(hào):104431一引言該次課程設(shè)計(jì)后臺(tái)數(shù)據(jù)庫(kù)連接ACCESS創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序。創(chuàng)建支持?jǐn)?shù)據(jù)庫(kù)的單文檔的應(yīng)用程序 使用List Control控件顯示并操作原數(shù)據(jù)庫(kù)表格內(nèi)容,其功能可實(shí)現(xiàn)表格中信息工程的添加、修改、刪 除、刷新、查詢,其中查詢功能分為單條件查詢和多條件查詢兩種。二系統(tǒng)設(shè)計(jì)1.主頁(yè)面如下:運(yùn)行之后ACCESS表中的數(shù)據(jù)就會(huì)在List Control控件中顯示通過(guò)主頁(yè)面可以對(duì)表格中信息工程進(jìn)行簡(jiǎn)單的刷新,刪除,單條件查詢(按姓名,學(xué)號(hào),所在系,性別,出生年份的單獨(dú)查詢)和 多條件查詢(按姓名,學(xué)

2、號(hào),所在系,性別,出生年份的組合查詢)。2.點(diǎn)擊添加按鈕即可進(jìn)入添加對(duì)話框如下: 可以輸入相關(guān)數(shù)據(jù)點(diǎn)擊添加按鈕之后即可在原數(shù)據(jù)表中進(jìn) 行添加一行,并且可以進(jìn)行多次添加,點(diǎn)擊確定之后刷新即可在List Control控件中顯示。3.點(diǎn)擊修改按鈕即可進(jìn)入修改對(duì)話框如下: 可以對(duì)已有的相關(guān)數(shù)據(jù)進(jìn)行修改點(diǎn)擊確定按鈕之后即可改 變?cè)瓟?shù)據(jù)表中數(shù)據(jù)行,刷新即可在List Control控件中顯示。三系統(tǒng)實(shí)現(xiàn)1.運(yùn)行界面圖及各模塊主要代碼:a.刷新功能的實(shí)現(xiàn):void CKeView:Onshuaxin()if(m_pSet-IsOpen() m_pSet-Close()。/如果此時(shí)數(shù)據(jù)庫(kù)表打開(kāi)則進(jìn)行關(guān)閉。C

3、String str=select * from student。m_pSet-Open(AFX_DB_USE_DEFAULT_TYPE,str)。/然后以S所示條件對(duì)數(shù)據(jù)庫(kù)表進(jìn)行打開(kāi)。m_Clist.DeleteAllItems()。/將List Control控件現(xiàn)有的數(shù)據(jù)工程全部刪除。Disp()。/調(diào)用Disp()函數(shù)將原數(shù)據(jù)庫(kù)表中的內(nèi)容重新顯示。void CKeView:Disp()m_Clist.SetItemText(i,4,m_pSet-m_column5) i+。m_pSet-MoveNext()。/m_pSet所指向的行下移。int n=m_Clist.GetItemCou

4、nt()。if(n=0) /如果List Control控件中的顯示的內(nèi)容為空AfxMessageBox(sorry!沒(méi)有找到匹配項(xiàng)!)。b.刪除功能的實(shí)現(xiàn):void CKeView:Onshanchu()int n=-1。n=m_Clist.GetSelectionMark()。/n為選中的行號(hào);if(nIsEOF()/m_pSetCSet類 的 指 針 用 于 指 向 原 數(shù) 據(jù) 庫(kù) 表 格 內(nèi) 容 。m_column1,m_column2,m_column3,m_column4,m_column5分別對(duì)應(yīng)原數(shù)據(jù)庫(kù)表格的學(xué)號(hào),姓名,性別,出生日中;期, 系所在列。m_Clist.Inser

5、tItem(i,m_pSet-m_column1)m_Clist.SetItemText(i,1,m_pSet-m_column2)m_Clist.SetItemText(i,2,m_pSet-m_column3)int year=m_pSet-m_column4.GetYear()int month=m_pSet-m_column4.GetMonth()int day=m_pSet-m_column4.GetDay()str1.Format(%d/%d/%d,year,month,day)m_Clist.SetItemText(i,3,str1)。/將原數(shù)據(jù)庫(kù)表格的第i行的相應(yīng)列列的內(nèi)容插到

6、List Control控件的i行各列returnCString s,str。if(m_pSet-IsOpen()m_pSet-Close()。/如果此時(shí)數(shù)據(jù)庫(kù)表打開(kāi)則進(jìn)行關(guān)閉str=m_Clist.GetItemText(n,0)。/取出第n行的第0列的字段即學(xué)號(hào)列s=select * from student where學(xué)號(hào)=+str+。m_pSet-Open(AFX_DB_USE_DEFAULT_TYPE,s)。 以S所示條件對(duì)數(shù)據(jù)庫(kù)表進(jìn)行 打開(kāi)。m_pSet-Delete()。/刪除m_pSet-Requery()。Onchaxun()。/調(diào)用刷新函數(shù)在List Control控件中顯

7、示c.修改功能的實(shí)現(xiàn):void CKeView:Onxiugai()int n=m_Clist.GetSelectionMark()。/n為選中的行號(hào)if(nIsOpen()m_pSet-Close()。如果此時(shí)數(shù)據(jù)庫(kù)表打開(kāi)則進(jìn)行關(guān)閉str1=select * from studentwhere學(xué)號(hào)=+str+。m_pSet-Open(AFX_DB_USE_DEFAULT_TYPE,str1)。 以S所示條件對(duì)數(shù)據(jù)庫(kù)表進(jìn)行 打開(kāi)。CXgDlg obj。/修改對(duì)話框中建立的類的對(duì)象obj.m_xh=m_pSet-m_column1。obj.m_xm =m_pSet-m_column2。obj.m

8、_vc1=m_pSet-m_column3 obj.m_vrq=m_pSet-m_column4obj.m_vc2 =m_pSet-m_column5。/將 需 要 修 改 的 的 行 中 的 各 列 的 內(nèi) 容 傳 遞 給 修 改對(duì) 話框的各變量中if(obj.DoModal()=IDOK)/修改完畢點(diǎn)擊確定后則將修改后的修改對(duì)話框的各變量中的值傳遞給數(shù)據(jù)表中對(duì)應(yīng)行中的各列m_pSet-Edit()。UpdateData(1)。m_pSet-m_column1=obj.m_xh。m_pSet-m_column2=obj.m_xm。m_pSet-m_column3=obj.m_vc1。m_pS

9、et-m_column4=obj.m_vrq。m_pSet-m_column5=obj.m_vc2。m_pSet-Update()。d.添加功能的實(shí)現(xiàn):在主頁(yè)面的“添加”按鈕中寫(xiě)入下面的代碼:void CKeView:Ontianjia()CTjDlg obj。/定義添加對(duì)話框類的對(duì)象obj.DoModal()。/打開(kāi)添加對(duì)話框;在添加對(duì)話框中的添加按鈕中加入以下代碼:void CTjDlg:Ontj()UpdateData(1)。if(m_xuehao= )/如果添加時(shí)學(xué)號(hào)主鍵為空則提示錯(cuò)誤信息AfxMessageBox(請(qǐng)輸入完整信息項(xiàng)!)。return。if(m_pSet2.IsOpen

10、()m_pSet2.Close()。/如果此時(shí)數(shù)據(jù)庫(kù)表打開(kāi)則進(jìn)行關(guān)閉m_pSet2.Open()。/在進(jìn)行打開(kāi)m_pSet2.AddNew()。/為原數(shù)據(jù)添加新的一行m_pSet2.m_column1=m_xingming。m_pSet2.m_column2=m_xuehao。m_pSet2.m_column3=m_xb。m_pSet2.m_column4=m_time。m_pSet2.m_column5=m_xi。/將添加對(duì)話框中新設(shè)定的值依此賦給原數(shù)據(jù)庫(kù)表格中的各列;m_pSet2.Update()。刷新之后即可在List Control控件中顯示。d.查詢功能的實(shí)現(xiàn):1.單條件查詢: 選

11、中單條件查詢的單選按鈕后則主頁(yè)面中的總查詢按鈕不可用,而每一個(gè)組框中對(duì)應(yīng)的查詢按鈕均可 用,則在單條件查詢的單選按鈕中寫(xiě)入以下代碼:void CKeView:OnRadio6()GetDlgItem(IDC_BUTTON10)-EnableWindow(FALSE)。/獲取對(duì)應(yīng)按鈕的ID并設(shè)定相應(yīng)按鈕的GetDlgltem(IDC_BUTT0N1)-EnableWindow(TRUE)。EnableWindow屬性FALSE為不可用TRUE為GetDlgItem(IDC_BUTTON6)-EnableWindow(TRUE)。 可用;GetDlgItem(IDC_BUTT0N7)-Enable

12、Window(TRUE)。GetDlgItem(IDC_BUTT0N8)-EnableWindow(TRUE)。GetDlgItem(IDC_BUTT0N9)-EnableWindow(TRUE)。(1)按姓名查詢:在按姓名查詢組框的查詢按鈕中寫(xiě)如以下代碼:void CKeView:0nchaxun()UpdateData(1)。if(m_pSet-Is0pen()m_pSet-Close()。CString s。s=select * from student where姓名like +m_ve1+%;/在表中查詢姓名列與edit中的輸入的變量相匹m_pSet-Open(AFX_DB_USE_

13、DEFAULT_TYPE。配的行。并以該條件打開(kāi)數(shù)據(jù)表。m_pSet-Requery()。m_Clist.DeleteAllltems()。/將List Control控件現(xiàn)有的數(shù)據(jù)工程全部刪除。Disp()。/調(diào)用Disp()函數(shù)將原數(shù)據(jù)庫(kù)表中的內(nèi)容重新顯示。(2)按學(xué)號(hào)查詢: 在按學(xué)號(hào)查詢組框的查詢按鈕中寫(xiě)如以下代碼:void CKeView:Onchaxun1()UpdateData(1)。if(m_pSet-lsOpen() m_pSet-Close()。CString s。s=select * from student where學(xué)號(hào)=+m_ve2+。/在表中查詢學(xué)號(hào)列與editm_

14、pSet-Open(AFX_DB_USE_DEFAULT_TYPE,s)配的行。并以該條件打開(kāi)數(shù)據(jù)表。m_pSet-Requery()。m_Clist.DeleteAllltems()。/將List Control控件現(xiàn)有的數(shù)據(jù)工程全部刪除。Disp()。/調(diào)用Disp()函數(shù)將原數(shù)據(jù)庫(kù)表中的內(nèi)容重新顯示。(3)按性別查詢: 在按性別查詢組框的查詢按鈕中寫(xiě)如以下代碼:void CKeView:Onchaxun3()UpdateData(1)。if(m_pSet-lsOpen() m_pSet-Close()。CString s,s1。if(m_vr1=0)/如果單選按鈕中選中第一個(gè)按鈕s1=男

15、。/則令單選按鈕的變量賦值為“男”;else s1=女。/否則賦值為“女”;s=select * from student where m_pSet-Open(AFX_DB_USE_DEFAULT_TYPE,s)。m_pSet-Requery()。m_Clist.DeleteAllItems()。Disp()。(4)按所在系查詢: 在按所在系查詢組框的查詢按鈕中寫(xiě)如以下代碼:void CKeView:Onchaxun2()/UpdateData(1)。if(m_pSet-IsOpen()中的輸入的變量相匹性別=+s1+m_pSet-Close()。CString s,s1。int n=m_cc

16、1.GetCurSel()。/n為當(dāng)前選中項(xiàng)的下標(biāo);m_cc1.GetLBText(n,s1)。/獲取當(dāng)前選中項(xiàng)的值并賦給變量m_vc1=s1。/并將該變量賦給組合框的變量。UpdateData(0)。s=select * from student where系=+m_vc1+m_pSet-Open(AFX_DB_USE_DEFAULT_TYPE,s)。m_pSet-Requery()。m_Clist.DeleteAllItems()。Disp()。(5)按出生年份查詢: 在按出生年份查詢組框的查詢按鈕中寫(xiě)如以下代碼:void CKeView:Onchaxun4()UpdateData(1)。

17、if(m_pSet-IsOpen()m_pSet-Close()。CString s,s1, s3s1;if(m_vr2=0)s1=。/如果單選按鈕選中第一項(xiàng)則為變量else if(m_vr2=1) s1=。選中第二項(xiàng)則為變量s1賦值為=else s1=。選中第三項(xiàng)則為變量s1賦值為Open(AFX_DB_USE_DEFAULT_TYPE,s)。m_pSet-Requery()。m_Clist.DeleteAllItems()。Disp()。2.多條件查詢 選中多條件查詢的單選按鈕后則主頁(yè)面中的總查詢按鈕可用,而每一個(gè)組框中對(duì)應(yīng)的查詢按鈕均不可 用,則在多條件查詢的單選按鈕中寫(xiě)入以下代碼:vo

18、id CKeView:OnRadio7()GetDlgItem(IDC_BUTTON10)-EnableWindow(TRUE)。GetDlgItem(IDC_BUTTON1)-EnableWindow(FALSE)。GetDlgItem(IDC_BUTTON6)-EnableWindow(FALSE)。GetDlgItem(IDC_BUTTON7)-EnableWindow(FALSE)。GetDlgItem(IDC_BUTTON8)-EnableWindow(FALSE)。GetDlgItem(IDC_BUTTON9)-EnableWindow(FALSE)。在主頁(yè)面中的總查詢按鈕中寫(xiě)入以

19、下代碼:void CKeView:Onchaxun5()CString s,s1,s2,s3。UpdateData(1)。if(m_vk1=1)/如果姓名的復(fù)選框被選中則為str10進(jìn)行賦值以下字符串s1賦值為s3。str10=姓名like +m_ve1+%。else str10=。/否則為其賦空值if(m_vk2=1) /如果姓名的復(fù)選框被選中則為str11進(jìn)行賦值以下字符串str11= and系=+m_vc1+else str11=。/否則為其賦空值if(m_vk3=1)/如果性別的復(fù)選框被選中if(m_vr1=0)/如果選中第一項(xiàng)則為s1賦值為”男”否則為其賦值為“女”s1=男。else s1=女。str12= and性別=+s1+。else str12=。if(m_vk4=1)if

溫馨提示

  • 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)論