VC的學(xué)生信息管理完整_第1頁
VC的學(xué)生信息管理完整_第2頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、String str=select * from student。m_pSet-Open(AFX_DB_USE_DEFAULT_TYPE,str)。/然后以S所示條件對數(shù)據(jù)庫表進行打開。m_Clist.DeleteAllItems()。/將List Control控件現(xiàn)有的數(shù)據(jù)工程全部刪除。Disp()。/調(diào)用Disp()函數(shù)將原數(shù)據(jù)庫表中的內(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!沒有找到匹配項!)。b.刪除功能的實現(xiàn):void CKeView:Onshanchu()int n=-1。n=m_Clist.GetSelectionMark()。/n為選中的行號;if(nIsEOF()/m_pSetCSet類 的 指 針 用 于 指 向 原 數(shù) 據(jù) 庫 表 格 內(nèi) 容 。m_column1,m_column2,m_column3,m_column4,m_column5分別對應(yīng)原數(shù)據(jù)庫表格的學(xué)號,姓名,性別,出生日中;期, 系所在列。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ù)庫表格的第i行的相應(yīng)列列的內(nèi)容插到

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

7、示c.修改功能的實現(xiàn):void CKeView:Onxiugai()int n=m_Clist.GetSelectionMark()。/n為選中的行號if(nIsOpen()m_pSet-Close()。如果此時數(shù)據(jù)庫表打開則進行關(guān)閉str1=select * from studentwhere學(xué)號=+str+。m_pSet-Open(AFX_DB_USE_DEFAULT_TYPE,str1)。 以S所示條件對數(shù)據(jù)庫表進行 打開。CXgDlg obj。/修改對話框中建立的類的對象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) 容 傳 遞 給 修 改對 話框的各變量中if(obj.DoModal()=IDOK)/修改完畢點擊確定后則將修改后的修改對話框的各變量中的值傳遞給數(shù)據(jù)表中對應(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.添加功能的實現(xiàn):在主頁面的“添加”按鈕中寫入下面的代碼:void CKeView:Ontianjia()CTjDlg obj。/定義添加對話框類的對象obj.DoModal()。/打開添加對話框;在添加對話框中的添加按鈕中加入以下代碼:void CTjDlg:Ontj()UpdateData(1)。if(m_xuehao= )/如果添加時學(xué)號主鍵為空則提示錯誤信息AfxMessageBox(請輸入完整信息項!)。return。if(m_pSet2.IsOpen

10、()m_pSet2.Close()。/如果此時數(shù)據(jù)庫表打開則進行關(guān)閉m_pSet2.Open()。/在進行打開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。/將添加對話框中新設(shè)定的值依此賦給原數(shù)據(jù)庫表格中的各列;m_pSet2.Update()。刷新之后即可在List Control控件中顯示。d.查詢功能的實現(xiàn):1.單條件查詢: 選

11、中單條件查詢的單選按鈕后則主頁面中的總查詢按鈕不可用,而每一個組框中對應(yīng)的查詢按鈕均可 用,則在單條件查詢的單選按鈕中寫入以下代碼:void CKeView:OnRadio6()GetDlgItem(IDC_BUTTON10)-EnableWindow(FALSE)。/獲取對應(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)按姓名查詢:在按姓名查詢組框的查詢按鈕中寫如以下代碼: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。配的行。并以該條件打開數(shù)據(jù)表。m_pSet-Requery()。m_Clist.DeleteAllltems()。/將List Control控件現(xiàn)有的數(shù)據(jù)工程全部刪除。Disp()。/調(diào)用Disp()函數(shù)將原數(shù)據(jù)庫表中的內(nèi)容重新顯示。(2)按學(xué)號查詢: 在按學(xué)號查詢組框的查詢按鈕中寫如以下代碼:void CKeView:Onchaxun1()UpdateData(1)。if(m_pSet-lsOpen() m_pSet-Close()。CString s。s=select * from student where學(xué)號=+m_ve2+。/在表中查詢學(xué)號列與editm_

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

16、1.GetCurSel()。/n為當前選中項的下標;m_cc1.GetLBText(n,s1)。/獲取當前選中項的值并賦給變量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)按出生年份查詢: 在按出生年份查詢組框的查詢按鈕中寫如以下代碼:void CKeView:Onchaxun4()UpdateData(1)。

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論