版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
25-《VisualC++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告班級:計(jì)算機(jī)系軟件Z102班姓名:曹立紅學(xué)號:104431引言該次課程設(shè)計(jì)后臺數(shù)據(jù)庫連接ACCESS并創(chuàng)建數(shù)據(jù)庫應(yīng)用程序。創(chuàng)建支持?jǐn)?shù)據(jù)庫的單文檔的應(yīng)用程序使用ListControl控件顯示并操作原數(shù)據(jù)庫表格內(nèi)容,其功能可實(shí)現(xiàn)表格中信息項(xiàng)目的添加、修改、刪除、刷新、查詢,其中查詢功能分為單條件查詢和多條件查詢兩種。二.系統(tǒng)設(shè)計(jì)1.主頁面如下:運(yùn)行之后ACCESS表中的數(shù)據(jù)就會在ListControl控件中顯示通過主頁面可以對表格中信息項(xiàng)目進(jìn)行簡單的刷新,刪除,單條件查詢(按姓名,學(xué)號,所在系,性別,出生年份的單獨(dú)查詢)和多條件查詢(按姓名,學(xué)號,所在系,性別,出生年份的組合查詢)。2.點(diǎn)擊添加按鈕即可進(jìn)入添加對話框如下:可以輸入相關(guān)數(shù)據(jù)點(diǎn)擊添加按鈕之后即可在原數(shù)據(jù)表中進(jìn)行添加一行,并且可以進(jìn)行多次添加,點(diǎn)擊確定之后刷新即可在ListControl控件中顯示。3.點(diǎn)擊修改按鈕即可進(jìn)入修改對話框如下:可以對已有的相關(guān)數(shù)據(jù)進(jìn)行修改點(diǎn)擊確定按鈕之后即可改變原數(shù)據(jù)表中數(shù)據(jù)行,刷新即可在ListControl控件中顯示。inti=0;CStringstr,str1;while(!m_pSet->IsEOF())//m_pSetCSet類的指針用于指向原數(shù)據(jù)庫表格內(nèi)容。m_column1,m_column2,m_column3,m_column4,m_column5分別對應(yīng)原數(shù)據(jù)庫表格的學(xué)號,姓名,性別,出生日期,系所在列。{m_Clist.InsertItem(i,m_pSet->m_column1);m_Clist.SetItemText(i,1,m_pSet->m_column2);m_Clist.SetItemText(i,2,m_pSet->m_column3);intyear=m_pSet->m_column4.GetYear();intmonth=m_pSet->m_column4.GetMonth();intday=m_pSet->m_column4.GetDay();str1.Format("%d/%d/%d",year,month,day);//將原數(shù)據(jù)庫表格的第i行的相應(yīng)列列的 m_Clist.SetItemText(i,3,str1);內(nèi)容插到ListControl控件的i行各列中;m_Clist.SetItemText(i,4,m_pSet->m_column5);i++;m_pSet->MoveNext();//m_pSet所指向的行下移。}intn=m_Clist.GetItemCount();if(n==0)//如果ListControl控件中的顯示的內(nèi)容為空AfxMessageBox("sorry!沒有找到匹配項(xiàng)!");}b.刪除功能的實(shí)現(xiàn):voidCKeView::Onshanchu(){intn=-1;n=m_Clist.GetSelectionMark();//n為選中的行號;if(n<0)//如果沒有進(jìn)行選擇則給出提示{ AfxMessageBox("請選擇刪除項(xiàng)!"); return;}CStrings,str;if(m_pSet->IsOpen()) m_pSet->Close();/如果此時數(shù)據(jù)庫表打開則進(jìn)行關(guān)閉str=m_Clist.GetItemText(n,0);//取出第n行的第0列的字段即學(xué)號列s="select*fromstudentwhere學(xué)號='"+str+"'";m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);以S所示條件對數(shù)據(jù)庫表進(jìn)行打開。m_pSet->Delete();//刪除m_pSet->Requery();Onchaxun();//調(diào)用刷新函數(shù)在ListControl控件中顯示 }c.修改功能的實(shí)現(xiàn):voidCKeView::Onxiugai(){ intn=m_Clist.GetSelectionMark();//n為選中的行號 if(n<0)//如果沒有進(jìn)行選擇則給出提示 { AfxMessageBox("請選擇修改項(xiàng)!"); return; } CStringstr,str1,s; str=m_Clist.GetItemText(n,0);//取出第n行的第0列的字段即學(xué)號列if(m_pSet->IsOpen()) m_pSet->Close();如果此時數(shù)據(jù)庫表打開則進(jìn)行關(guān)閉 str1="select*fromstudentwhere學(xué)號='"+str+"'";m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,str1);以S所示條件對數(shù)據(jù)庫表進(jìn)行打開。 CXgDlgobj;//修改對話框中建立的類的對象 obj.m_xh=m_pSet->m_column1; obj.m_xm=m_pSet->m_column2; obj.m_vc1=m_pSet->m_column3; obj.m_vrq=m_pSet->m_column4;obj.m_vc2=m_pSet->m_column5;//將需要修改的的行中的各列的內(nèi)容傳遞給修改對話框的各變量中if(obj.DoModal()==IDOK)//修改完畢點(diǎn)擊確定后則將修改后的修改對話框的各變量中的值傳{遞給數(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_pSet->m_column4=obj.m_vrq; m_pSet->m_column5=obj.m_vc2;m_pSet->Update(); }}d.添加功能的實(shí)現(xiàn):在主頁面的“添加”按鈕中寫入下面的代碼:voidCKeView::Ontianjia(){CTjDlgobj;//定義添加對話框類的對象obj.DoModal();//打開添加對話框; }在添加對話框中的添加按鈕中加入以下代碼:voidCTjDlg::Ontj(){UpdateData(1);if(m_xuehao=="")//如果添加時學(xué)號主鍵為空則提示錯誤信息 { AfxMessageBox("請輸入完整信息項(xiàng)!"); return; } if(m_pSet2.IsOpen()) m_pSet2.Close();//如果此時數(shù)據(jù)庫表打開則進(jìn)行關(guān)閉m_pSet2.Open();//在進(jìn)行打開 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();}刷新之后即可在ListControl控件中顯示。d.查詢功能的實(shí)現(xiàn):1.單條件查詢:選中單條件查詢的單選按鈕后則主頁面中的總查詢按鈕不可用,而每一個組框中對應(yīng)的查詢按鈕均可用,則在單條件查詢的單選按鈕中寫入以下代碼:voidCKeView::OnRadio6(){ GetDlgItem(IDC_BUTTON10)->EnableWindow(FALSE);//獲取對應(yīng)按鈕的ID并設(shè)定相應(yīng)按鈕的 GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);EnableWindow 屬性FALSE為不可用TRUE為GetDlgItem(IDC_BUTTON6)->EnableWindow(TRUE);可用;GetDlgItem(IDC_BUTTON7)->EnableWindow(TRUE);GetDlgItem(IDC_BUTTON8)->EnableWindow(TRUE);GetDlgItem(IDC_BUTTON9)->EnableWindow(TRUE);}(1)按姓名查詢:在按姓名查詢組框的查詢按鈕中寫如以下代碼:voidCKeView::Onchaxun(){UpdateData(1);if(m_pSet->IsOpen())m_pSet->Close();CStrings;s="select*fromstudentwhere姓名like'"+m_ve1+"%'";//在表中查詢姓名列與edit中的輸入的變量相匹m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);配的行。并以該條件打開數(shù)據(jù)表。m_pSet->Requery();m_Clist.DeleteAllItems();//將ListControl控件現(xiàn)有的數(shù)據(jù)項(xiàng)目全部刪除。Disp();//調(diào)用Disp()函數(shù)將原數(shù)據(jù)庫表中的內(nèi)容重新顯示。}(2)按學(xué)號查詢:在按學(xué)號查詢組框的查詢按鈕中寫如以下代碼:voidCKeView::Onchaxun1(){ UpdateData(1);if(m_pSet->IsOpen()) m_pSet->Close();CStrings;s="select*fromstudentwhere學(xué)號='"+m_ve2+"'";//在表中查詢學(xué)號列與edit中的輸入的變量相匹m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);配的行。并以該條件打開數(shù)據(jù)表。m_pSet->Requery();m_Clist.DeleteAllItems();//將ListControl控件現(xiàn)有的數(shù)據(jù)項(xiàng)目全部刪除。Disp(); //調(diào)用Disp()函數(shù)將原數(shù)據(jù)庫表中的內(nèi)容重新顯示。 }(3)按性別查詢:在按性別查詢組框的查詢按鈕中寫如以下代碼:voidCKeView::Onchaxun3(){UpdateData(1);if(m_pSet->IsOpen()) m_pSet->Close();CStrings,s1;if(m_vr1==0)//如果單選按鈕中選中第一個按鈕s1="男";//則令單選按鈕的變量賦值為“男”;elses1="女";//否則賦值為“女”;s="select*fromstudentwhere性別='"+s1+"'";m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);m_pSet->Requery();m_Clist.DeleteAllItems();Disp(); }(4)按所在系查詢:在按所在系查詢組框的查詢按鈕中寫如以下代碼:voidCKeView::Onchaxun2(){//UpdateData(1);if(m_pSet->IsOpen()) m_pSet->Close();CStrings,s1;intn=m_cc1.GetCurSel();//n為當(dāng)前選中項(xiàng)的下標(biāo);m_cc1.GetLBText(n,s1);//獲取當(dāng)前選中項(xiàng)的值并賦給變量s1;m_vc1=s1;//并將該變量賦給組合框的變量。UpdateData(0);s="select*fromstudentwhere系='"+m_vc1+"'";m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);m_pSet->Requery();m_Clist.DeleteAllItems();Disp(); }(5)按出生年份查詢:在按出生年份查詢組框的查詢按鈕中寫如以下代碼:voidCKeView::Onchaxun4(){ UpdateData(1);if(m_pSet->IsOpen()) m_pSet->Close();CStrings,s1,s3;if(m_vr2==0)s1=">";//如果單選按鈕選中第一項(xiàng)則為變量s1賦值為>elseif(m_vr2==1)s1="=";選中第二項(xiàng)則為變量s1賦值為=elses1="<";選中第三項(xiàng)則為變量s1賦值為<;s3.Format("%d",m_ve3);//將編輯框中的int類型的變量轉(zhuǎn)換為字符串類型并賦給s3;s="select*fromstudentwhereyear(出生日期)"+s1+s3;m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);m_pSet->Requery();m_Clist.DeleteAllItems();Disp();}2.多條件查詢選中多條件查詢的單選按鈕后則主頁面中的總查詢按鈕可用,而每一個組框中對應(yīng)的查詢按鈕均不可用,則在多條件查詢的單選按鈕中寫入以下代碼:voidCKeView::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);}在主頁面中的總查詢按鈕中寫入以下代碼:voidCKeView::Onchaxun5(){ CStrings,s1,s2,s3;UpdateData(1); if(m_vk1==1)//如果姓名的復(fù)選框被選中則為str10進(jìn)行賦值以下字符串str10="姓名like'"+m_ve1+"%'"; elsestr10="";//否則為其賦空值if(m_vk2==1)//如果姓名的復(fù)選框被選中則為str11進(jìn)行賦值以下字符串str11="and系='"+m_vc1+"'";elsestr11="";//否則為其賦空值 if(m_vk3==1)// 如果性別的復(fù)選框被選中 { if(m_vr1==0)//如果選中第一項(xiàng)則為s1賦值為”男”否則為其賦值為“女”s1="男";elses1="女";str12="and性別='"+s1+"'"; } elsestr12="";if(m_vk4==1) {if(m_vr2==0)s2=">";elseif(m_vr2==1)s2="=";elses2="<";s3.Format("%d",m_ve3);str13
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械采購付款擔(dān)保協(xié)議
- 智能門鎖維修技師崗位招聘考試試卷及答案
- 珠寶 3D 打印技師崗位招聘考試試卷及答案
- 2025年公路收費(fèi)員面試題目及答案解析
- 2025年車輛專用照明、信號及其裝置項(xiàng)目發(fā)展計(jì)劃
- 2025年全腦開發(fā)項(xiàng)目建議書
- 2025年板翅式換熱器項(xiàng)目合作計(jì)劃書
- 學(xué)堂在線 雨課堂 遙測原理 期末考試答案
- 腹痛癥狀護(hù)理知識精講
- 工程材料與熱成型 課件 模塊8、9 選用非金屬材料及新型材料、對機(jī)械零件進(jìn)行選材
- 2025云南省人民檢察院招聘22人筆試考試備考題庫及答案解析
- 銀行行業(yè)公司銀行客戶經(jīng)理崗位招聘考試試卷及答案
- 2026年安全生產(chǎn)管理培訓(xùn)課件與事故預(yù)防與應(yīng)急處理方案
- 2026天津市靜海區(qū)北師大實(shí)驗(yàn)學(xué)校合同制教師招聘81人(僅限應(yīng)屆畢業(yè)生)考試筆試備考題庫及答案解析
- 2025陜西陜煤澄合礦業(yè)有限公司招聘570人參考筆試題庫及答案解析
- 2025年倉儲服務(wù)外包合同協(xié)議
- 2025遼寧沈陽金融商貿(mào)經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管理委員會運(yùn)營公司招聘60人考試歷年真題匯編帶答案解析
- 2025年刑法學(xué)考試試題及答案
- 廣東省汕頭市金平區(qū)2024-2025學(xué)年七年級上學(xué)期期末地理試題
- 2025年二手車交易市場發(fā)展可行性研究報(bào)告及總結(jié)分析
- 北京市交通運(yùn)輸綜合執(zhí)法總隊(duì)軌道交通運(yùn)營安全專職督查員招聘10人考試參考題庫附答案解析
評論
0/150
提交評論