




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、安徽建筑工業(yè)學(xué)院 vc+面向?qū)ο?課程設(shè)計報告書院 系 數(shù)理系 專 業(yè) 信息與計算科學(xué) 班 級 09 信 息 學(xué) 號 姓 名 題 目 圖書館登錄系統(tǒng) 指導(dǎo)教師 圖書館登錄系統(tǒng)一、 功能:該系統(tǒng)對用戶輸入的用戶名和密碼進(jìn)行驗(yàn)證,只有確保用戶名和密碼都正確才能進(jìn)入該系統(tǒng),在登陸過程中給出是否為合法用戶的反饋信息。系統(tǒng)登錄后自動彈出主界面,用戶可以對自己的登錄密碼進(jìn)行修改。二、 設(shè)計: 1、數(shù)據(jù)庫設(shè)計: 采用ado操作數(shù)據(jù)庫,數(shù)據(jù)庫形式可以自行選擇,本系統(tǒng)采用的是access2003,數(shù)據(jù)庫中包含一個表,表數(shù)據(jù)中包含以下字段:用戶編號、用戶姓名、登錄密碼。其中用戶編號為主鍵.。數(shù)據(jù)庫和數(shù)據(jù)表的名稱自
2、定。 2、程序界面設(shè)計: 建立三個用戶界面:系統(tǒng)登錄界面,主界面,修改密碼界面。 用戶登錄界面 該界面主要包含用戶姓名、用戶密碼輸入框,登錄和退出按鈕,點(diǎn)擊登錄時驗(yàn)證用戶姓名和用戶密碼的合法性,并給出驗(yàn)證結(jié)果。如果用戶輸入正確,然后進(jìn)入主界面。 主界面 用戶登陸成功之后進(jìn)入系統(tǒng)主界面,此時用戶可以對自己的登錄密碼進(jìn)行修改。 修改密碼界面 用戶在主界面點(diǎn)擊修改密碼按鈕進(jìn)入該界面。該界面主要包含用戶的舊密碼、新密碼、確認(rèn)新密碼輸入框,保存和返回命令按鈕。點(diǎn)擊保存則修改用戶密碼,點(diǎn)擊返回則放棄修改密碼,返回到主界面。三、 要求: 1、用戶登錄時對用戶的合法性結(jié)果以消息框的形式給出,如果用戶三次登錄不
3、成功,則系統(tǒng)自動退出。 2、修改用戶密碼時,應(yīng)以消息框的形式提示用戶是否保存修改內(nèi)容。 3、退出系統(tǒng)時,應(yīng)得到用戶的確認(rèn)之后方可退出。四、主要功能模塊設(shè)計、數(shù)據(jù)庫的設(shè)計與創(chuàng)建1、建立數(shù)據(jù)庫 命名為“table2”,新建一個表“table2”并設(shè)計表2、輸入數(shù)據(jù)到表“table2”上:、 創(chuàng)建應(yīng)用程序框架1、打開vc+6.0 新建工程,命名為“123456”2、點(diǎn)擊完成,選擇單文檔,直接點(diǎn)擊3、應(yīng)用程序生成如下界面、對話框的創(chuàng)建1、登陸對話框的設(shè)計與創(chuàng)建:2、新建對話框類,建立類向?qū)В?、為登錄按鈕添加代碼如下(驗(yàn)證用戶信息的合法性)void clogindlg:onlogin() / todo
4、: add your control notification handler code hereupdatedata(true);cstring sql;clogindlg dlg;_variant_t val;cstring name,password;bool isfind=false;try while(!m_precordset-adoeof) val=m_precordset-getcollect(name); if(val.vt!=vt_null) name=(lpcstr)_bstr_t(val); val=m_precordset-getcollect(password);
5、if(val.vt!=vt_null) password=(lpcstr)_bstr_t(val); if(name=m_stredit1)& (password=m_stredit2) isfind=true; cmaindlg dlg; dlg.m_username=name; cdialog:onok(); dlg.domodal(); break; m_precordset-movenext();if(isfind=false)afxmessagebox(您輸入的用戶名或密碼錯誤,請重新輸入!);m_stredit1=;m_stredit2=;updatedata(false);get
6、dlgitem(idd_dialog1)-setfocus();catch(_com_error e) afxmessagebox(查找失敗!); return;bool clogindlg:oninitdialog() cdialog:oninitdialog();return true; / return true unless you set the focus to a control / exception: ocx property pages should return false主界面的設(shè)計:1、添加主界面對話框類,命名為“cmaindlg”,建立類向?qū)?、為該界面按鈕所在的成
7、員函數(shù)添加代碼如下:void cmaindlg:onamend() / todo: add your control notification handler code herecgaimimadlg dlg;cdialog:onok(); dlg.m_username=m_username;dlg.domodal();void cmaindlg:onbutton1() / todo: add your control notification handler code heremessagebox(系統(tǒng)維護(hù)中.);void cmaindlg:onbutton2() / todo: add y
8、our control notification handler code heremessagebox(系統(tǒng)維護(hù)中.);void cmaindlg:onbutton3() / todo: add your control notification handler code here、創(chuàng)建修改密碼對話框1、插入對話框資源2、新建對話框類“cgaimimadlg”,建立類向?qū)?、當(dāng)用戶輸入舊密碼以及新密碼確認(rèn)修改密碼,點(diǎn)擊保存按鈕時,講用戶的新密碼更新到數(shù)據(jù)庫中,為保存按鈕的成員函數(shù)添加實(shí)現(xiàn)代碼如下:void cgaimimadlg:onsave() / todo: add your contr
9、ol notification handler code hereupdatedata(true);cstring sql;_variant_t val,val1;cstring password,name; m_precordset1-movefirst();while(!m_precordset1-adoeof) val1=m_precordset1-getcollect(name);if (m_username=(lpcstr)_bstr_t(val1) break; if (m_username!=(lpcstr)_bstr_t(val1)m_precordset1-movenext(
10、);val=m_precordset1-getcollect(password);if(val.vt!=vt_null)password=(lpcstr)_bstr_t(val);if(password!=m_oldpwd)messagebox(舊密碼不正確!);return;elseif(m_newpwd!=m_renewpwd)afxmessagebox(兩次輸入密碼不一致);elsem_precordset1-fields-getitem(password)-value=(_variant_t)(_bstr_t)(m_newpwd);m_precordset1-update();afxm
11、essagebox(修改成功);4、返回按鈕代碼:void cgaimimadlg:onbutton1() / todo: add your control notification handler code herecmaindlg dlg;cdialog:onok(); dlg.domodal();五、數(shù)據(jù)庫的導(dǎo)入與訪問1、在stdafx.h中添加如下代碼:#import c:program filescommon filessystemadomsado15.dll no_namespace rename(eof,adoeof)2、定義連接指針:_connectionptr m_pconn
12、ection;/定義連接指針_recordsetptr m_precordset;/定義記錄集指針3、數(shù)據(jù)庫的連接在登錄對話框類clogindlg的構(gòu)造函數(shù)中實(shí)現(xiàn)代碼如下:clogindlg:clogindlg(cwnd* pparent /*=null*/): cdialog(clogindlg:idd, pparent)/afx_data_init(clogindlg)m_stredit1 = _t();m_stredit2 = _t();/afx_data_initisadd=false;m_pconnection.createinstance(_uuidof(connection);m
13、_precordset.createinstance(_uuidof(recordset);try /_bstr_t strconnect=provider=microsoft.jet.oledb.4.0;datasource=table2.mdb,admodeunknown; m_pconnection-open(provider=microsoft.jet.oledb.4.0;data source=table2.mdb,admodeunknown); cstring strsql=select * from table2 ;bstr bstrsql=strsql.allocsysstri
14、ng();m_precordset-open(bstrsql,(idispatch*)m_pconnection,adopendynamic,adlockoptimistic,adcmdtext); /*whle(!m_precordset-adoeof) */ _variant_t thevalue; cstring str; thevalue=m_precordset-fields-getitem(id)-value; if (thevalue.vt!=vt_null) m_id=thevalue.ival; thevalue=m_precordset-fields-getitem(nam
15、e)-value; if (thevalue.vt!=vt_null) str=(char *)_bstr_t(thevalue); m_name=str; thevalue=m_precordset-fields-getitem(password)-value; if (thevalue.vt!=vt_null) str=(char *)_bstr_t(thevalue); m_password=str; /updatedata(false); /* m_precordset-movenext();*/ /afxmessagebox(sssss);catch(_com_error e) af
16、xmessagebox(e.errormessage();六、程序運(yùn)行結(jié)果以及界面現(xiàn)實(shí)情況如下1、登錄當(dāng)輸入用戶名或者密碼錯誤時彈出提示消息框:2、程序主界面:3、修改密碼界面七、系統(tǒng)評價 該圖書館用戶登錄系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)庫系統(tǒng)的基本功能,用戶的登錄和用戶登錄密碼的修改。因?yàn)樗鶎W(xué)知識有限,所以該系統(tǒng)功能比較簡單,系統(tǒng)界面不是很美觀,還可以進(jìn)一步充實(shí)類容,美化界面,實(shí)現(xiàn)更豐富個功能。八、心得體會 通過本次vc+面向?qū)ο笳n程設(shè)計做用戶登錄系統(tǒng),我熟悉了使用vc+和access 2003創(chuàng)建數(shù)據(jù)庫管理系統(tǒng)的方法,進(jìn)一步熟悉了數(shù)據(jù)庫中如何新建一個數(shù)據(jù)庫,熟悉了設(shè)計一個表以及表中所包含的各個字段。通過運(yùn)用本學(xué)期所學(xué)的vc+面向?qū)ο蟪绦蛟O(shè)計,更加深入的了解mfc編程還有數(shù)據(jù)庫編程的知識與技巧運(yùn)用,熟悉創(chuàng)建對話框資源以及各個對話框之間的通信。這次課程設(shè)計涉及到到計算機(jī)程序設(shè)計語言的各門知識,擴(kuò)展性比較強(qiáng)。課程設(shè)計是一次我們在校大學(xué)生實(shí)踐的重要機(jī)會,我更加深入的認(rèn)識到了各門課知識的連貫性,懂的理論與實(shí)踐的結(jié)合的重要性! 當(dāng)然,在這次課程設(shè)計
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年注會考試心理素質(zhì)要求試題及答案
- 2025年證券從業(yè)資格的重要概念試題及答案
- 2025年注會考試備考的團(tuán)隊合作與分享經(jīng)驗(yàn)試題及答案
- 2025年證券從業(yè)資格證考試應(yīng)試過程中效率提高的有效途徑試題及答案
- 環(huán)境微生物對生態(tài)系統(tǒng)的影響試題及答案
- 關(guān)于費(fèi)用支付sql筆試題及答案
- 微生物檢驗(yàn)數(shù)據(jù)統(tǒng)計試題及答案
- 財務(wù)會計新動態(tài)試題及答案
- 畜牧業(yè)生物技術(shù)在育種中的應(yīng)用考核試卷
- 2024年項目管理專業(yè)人士考試考點(diǎn)剖析試題及答案
- 2025榆林能源集團(tuán)有限公司招聘工作人員(473人)筆試參考題庫附帶答案詳解
- 銀行等安全保衛(wèi)現(xiàn)場檢查要點(diǎn)清單
- 活動場地租賃與活動安全責(zé)任協(xié)議
- 《數(shù)據(jù)統(tǒng)計與分析》課件
- 2024年河南職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫必考題
- (二模)新疆維吾爾自治區(qū)2025年普通高考第二次適應(yīng)性檢測 英語試卷(含答案詳解)
- 征信系統(tǒng)AI應(yīng)用行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 旅行社企業(yè)章程范本
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測試網(wǎng)課答案
- 2024屆新高考物理沖刺復(fù)習(xí):“正則動量”解決帶電粒子在磁場中的運(yùn)動問題
- 2024年國家糧食和物資儲備局直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論