版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/VB實(shí)訓(xùn)指導(dǎo)書——圖書信息管理系統(tǒng)廣西機(jī)電職業(yè)技術(shù)學(xué)院一、實(shí)訓(xùn)周的具體按排和要求1、實(shí)訓(xùn)對(duì)象:07級(jí)電子商務(wù)專業(yè)學(xué)生2、實(shí)訓(xùn)時(shí)間:1周3、實(shí)訓(xùn)內(nèi)容:開發(fā)圖書信息管理系統(tǒng)4、實(shí)訓(xùn)目的:(1)進(jìn)一步熟悉VB的集成開發(fā)環(huán)境,掌握VB設(shè)計(jì)應(yīng)用程序的主要步驟,從而加深對(duì)面向可視化對(duì)象編程方法的認(rèn)識(shí)。(2)了解并初步掌握用VB開發(fā)應(yīng)用程序界面、圖形圖像、數(shù)據(jù)庫(kù)、多媒體等實(shí)用內(nèi)容。(3)通過實(shí)訓(xùn)穩(wěn)固一學(xué)期來所學(xué)到的VB知識(shí),熟練掌握計(jì)算機(jī)操件技能,培養(yǎng)開發(fā)的思想,同時(shí)產(chǎn)生濃厚的興趣,為今后進(jìn)一步學(xué)習(xí)打下基礎(chǔ)。5、實(shí)訓(xùn)要求說明:①指導(dǎo)書給出的內(nèi)容只是完成根本功能,其它功能請(qǐng)查閱相關(guān)參考書。②實(shí)訓(xùn)上機(jī)期間,每個(gè)學(xué)生都要認(rèn)真聽從指導(dǎo)老師及實(shí)驗(yàn)老師的指揮,按時(shí)按量獨(dú)立完成實(shí)訓(xùn)的內(nèi)容。如有違紀(jì)者,將取消其實(shí)訓(xùn)的上機(jī)資格,并且其實(shí)訓(xùn)成績(jī)當(dāng)零分處理。③實(shí)訓(xùn)期間要嚴(yán)格按照實(shí)訓(xùn)報(bào)告格式要求認(rèn)真書寫實(shí)訓(xùn)報(bào)告(電子檔與手寫稿(或打印稿)),實(shí)訓(xùn)結(jié)束后將實(shí)訓(xùn)作品和實(shí)訓(xùn)報(bào)告一起上交指導(dǎo)老師批改、評(píng)分。eq\o\ac(○,4)實(shí)訓(xùn)后期,將酌情安排現(xiàn)場(chǎng)測(cè)試與辯論,并將此項(xiàng)分?jǐn)?shù)按一定比例打入實(shí)訓(xùn)成績(jī)總評(píng)。二、實(shí)訓(xùn)報(bào)告(設(shè)計(jì)說明書)書寫的格式要求1、實(shí)訓(xùn)報(bào)告封面要依次填寫設(shè)計(jì)的科目、題目、專業(yè)、班級(jí)、姓名、學(xué)號(hào)、日期、指導(dǎo)老師等工程。2、報(bào)告內(nèi)頁(yè)書寫的具體內(nèi)容應(yīng)包含以下幾個(gè)方面:實(shí)訓(xùn)名稱:即實(shí)訓(xùn)題目。實(shí)訓(xùn)目的:即通過本次實(shí)訓(xùn)要得到哪些方面的主要訓(xùn)練,將學(xué)會(huì)掌握哪些相關(guān)專業(yè)技能。實(shí)訓(xùn)環(huán)境:既設(shè)備(硬件、系統(tǒng)平臺(tái))、開發(fā)工具、方法手段等。實(shí)訓(xùn)方案:做出本次實(shí)訓(xùn)的總體方案并制定出實(shí)施方案的具體步驟(可按完成功能模塊來劃分)及進(jìn)度安排,列出時(shí)間表。關(guān)鍵技術(shù)與解決途徑:本次實(shí)訓(xùn)的技術(shù)要點(diǎn)(可按實(shí)訓(xùn)方案里制定的具體步驟一一編寫),并要求寫出如何解決這些技術(shù)要點(diǎn)(要求編寫源代碼并附上代碼說明,必要時(shí)請(qǐng)附上截圖)。自我評(píng)價(jià):即總結(jié)本次實(shí)訓(xùn)的個(gè)人心得體會(huì)。包括對(duì)這次實(shí)訓(xùn)任務(wù)完成情況的評(píng)價(jià);實(shí)訓(xùn)的收獲與預(yù)期目標(biāo)是否一致的評(píng)價(jià)以及對(duì)實(shí)訓(xùn)組織、安排、管理等方面的評(píng)價(jià)。這局部不僅要求寫出問題,更希望寫出你的建議。三、實(shí)訓(xùn)成績(jī)的評(píng)定標(biāo)準(zhǔn)指導(dǎo)老師根據(jù)學(xué)生實(shí)訓(xùn)期間的表現(xiàn)、實(shí)訓(xùn)內(nèi)容的完成情況以及所寫的實(shí)訓(xùn)報(bào)告(設(shè)計(jì)說明書)給予該生優(yōu)、良、中、及格、不及格等綜合評(píng)定等級(jí),并作為該實(shí)訓(xùn)課程的期評(píng)成績(jī)上報(bào)成績(jī)。四、本次實(shí)訓(xùn)的具體內(nèi)容:圖書信息管理系統(tǒng)系統(tǒng)功能分析:讀者根本信息的輸入讀者根本信息的查詢(要求能按讀者編號(hào)進(jìn)行查詢)讀者根本信息的修改圖書信息的輸入圖書信息的修改借閱信息的查詢(要求能根據(jù)人來查書、根據(jù)書來查人)讀者借書讀者還書以下是附加的功能:(選做)根據(jù)讀者姓名來查詢讀者信息根據(jù)書名來查詢圖書信息利用新窗口來修改讀者信息和圖書信息系統(tǒng)功能模塊:一、圖書信息管理系統(tǒng)功能介紹1.主界面圖1程序運(yùn)行后主界面的效果如圖1所示。可以看到,窗體的上部是菜單欄,包含3個(gè)菜單項(xiàng),即:讀者管理、圖書管理和借閱管理。2.讀者管理 選擇菜單“讀者管理〞,如圖2所示,該菜單項(xiàng)中有4個(gè)子菜單項(xiàng):顯示所有讀者、查詢一個(gè)讀者、增加一個(gè)讀者和刪除一個(gè)讀者。 選擇菜單“讀者管理→顯示所有讀者〞,則在主界面的數(shù)據(jù)表格中列出所有的讀者信息,如圖3所示。 選擇菜單“讀者管理→查詢一個(gè)讀者〞,彈出對(duì)話框如圖4所示,要求輸入要查詢的讀者編號(hào)信息。輸入讀者編號(hào)后單擊“查詢〞按鈕,則在主界面的數(shù)據(jù)表格中列出該讀者的信息;否則,系統(tǒng)提示用戶“查無此人〞。 選擇菜單“讀者管理→增加一個(gè)讀者〞,彈出對(duì)話框如圖5所示,要求輸入讀者編號(hào)和讀者姓名,輸入完整的信息后單擊保存按鈕,系統(tǒng)判斷是否可以向數(shù)據(jù)庫(kù)中添加該讀者信息,如果添加成功,則在主界面的數(shù)據(jù)表格中列出數(shù)據(jù)庫(kù)中所有的讀者信息。 選擇菜單“讀者管理→刪除一個(gè)讀者〞,彈出對(duì)話框如圖6所示,要求輸入讀者編號(hào),輸入完整的信息后單擊“刪除〞按鈕,若該刪除操作成功,則在主界面的數(shù)據(jù)表格中顯示剩余的所有讀者信息。圖2圖3圖4圖5圖63.圖書管理 選擇菜單“圖書管理〞,如圖7所示,該菜單項(xiàng)中有4個(gè)子菜單項(xiàng):顯示所有圖書、查詢單冊(cè)、增加新書和刪除圖書。該菜單項(xiàng)功能與讀者管理局部類似,在此不再重復(fù)。4.借閱管理 選擇菜單“借閱管理〞,如圖8所示。該菜單項(xiàng)中有5個(gè)子菜單項(xiàng):顯示所有借閱情況、借書、還書、根據(jù)書來查人和根據(jù)人來查書。圖7圖8 選擇菜單“借閱管理→顯示所有借閱情況〞,則在主界面的數(shù)據(jù)表格中顯示所有的借閱記錄。 選擇菜單“借閱管理→借書〞,彈出對(duì)話框如圖9所示,要求用戶輸入所借圖書編號(hào)和讀者編號(hào)。輸入完整的信息后單擊“借書〞按鈕,如果借書成功,則在主界面的數(shù)據(jù)表格中列出當(dāng)前讀者的借閱情況。 選擇菜單“借閱管理→還書〞,彈出對(duì)話框如圖10所示,要求輸入所借圖書編號(hào),輸入完整的信息后單擊“還書〞按鈕,如果還書成功,則在主界面的數(shù)據(jù)表格中列出當(dāng)前讀者還書后的借閱情況。圖9圖10 選擇菜單“借閱管理→根據(jù)人來查書〞,彈出對(duì)話框如圖11所示,要求輸入讀者編號(hào),輸入完整的信息后單擊“查詢〞按鈕,如果查詢操作成功,則在主界面的數(shù)據(jù)表格中列出當(dāng)前讀者所有的借閱情況。 選擇菜單“借閱管理→根據(jù)書來查人〞,彈出對(duì)話框如圖12所示,系統(tǒng)顯示相應(yīng)的信息提示,如果查詢操作成功,則在主界面的數(shù)據(jù)表格中列出當(dāng)前圖書的借閱情況。圖11圖12二、創(chuàng)立數(shù)據(jù)庫(kù) 翻開Access,建立一個(gè)名為bookdb的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中有兩張數(shù)據(jù)表:book、borrow和reader。三張表的字段信息如下:表1book表項(xiàng)內(nèi)容字段名稱數(shù)據(jù)類型字段大小bookid文本15bookname文本100bookstate文本4(將bookid字段設(shè)為主鍵)表2borrow表項(xiàng)內(nèi)容字段名稱數(shù)據(jù)類型字段大小bookid文本15readerid文本15(將bookid字段設(shè)為主鍵)表3reader表項(xiàng)內(nèi)容字段名稱數(shù)據(jù)類型字段大小readerid文本15readername文本20booknum文本4(將readerid字段設(shè)為主鍵)三、創(chuàng)立數(shù)據(jù)源(ODBC) 基于SQL的ODBC(OpenDataBaseConnectivity,開放式數(shù)據(jù)庫(kù)連接)是Microsoft公司在1989年退出的連接外部數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn),若采用這套標(biāo)準(zhǔn),一個(gè)應(yīng)用程序就可以通過一組通用的代碼訪問不同的數(shù)據(jù)庫(kù)管理系統(tǒng)。 在WindowsXP操作系統(tǒng)環(huán)境下,本實(shí)例的ODBC設(shè)置步驟如下:進(jìn)入“控制面板→管理工具〞,雙擊“數(shù)據(jù)源(ODBC)〞,出現(xiàn)“ODBC數(shù)據(jù)源管理器〞,如圖13所示。圖13圖14單擊“添加〞按鈕,出現(xiàn)創(chuàng)立數(shù)據(jù)源對(duì)話框,如圖14所示。選擇“DriverDoMicrosoftAccess(*.mdb)〞,單擊完成按鈕,出現(xiàn)ODBCMicrosoftAccess安裝對(duì)話框,如圖15所示,在數(shù)據(jù)源一項(xiàng)中輸入“book〞。單擊“選擇……〞按鈕,出現(xiàn)選擇數(shù)據(jù)庫(kù)對(duì)話框,如圖16所示,首先選擇數(shù)據(jù)庫(kù)所在的驅(qū)動(dòng)器,然后在目錄中選擇數(shù)據(jù)庫(kù)的路徑,這樣在“數(shù)據(jù)庫(kù)名〞一欄中就會(huì)列出相應(yīng)的Access數(shù)據(jù)庫(kù),然后單擊選定數(shù)據(jù)庫(kù)“bookdb〞。圖15圖16單擊確定按鈕,系統(tǒng)自動(dòng)返回ODBC數(shù)據(jù)源管理器,數(shù)據(jù)源“book〞創(chuàng)立成功。四、圖書管理系統(tǒng)實(shí)現(xiàn) 該圖書管理系統(tǒng)的工程名稱為BookManSys.vbp,該工程包含所有文件如圖17所示。 圖171.新建工程新建工程,并在工程資源管理器中將工程名稱屬性改為:BookManSys.vbp。選擇菜單“工程→部件〞,從控件列表中選中如下選項(xiàng): MicrosoftADODataControl6.0(OLEDB) MicrosoftDataGridControl6.0(OLEDB)在“工程資源管理器〞窗口中單擊鼠標(biāo)右鍵,選擇“添加→添加模塊〞。單擊翻開按鈕,然后在該模塊的“代碼編輯窗口〞中添加代碼如下:PublicActFlagAsBoolean2.FrmMain窗體FrmMain窗體的設(shè)計(jì)步驟如下:選中“Form1〞窗體,將該窗體的“名稱〞屬性改為“frmMain〞,“Caption〞屬性改為“圖書管理系統(tǒng)〞。在窗體上設(shè)計(jì)一個(gè)菜單,該菜單結(jié)構(gòu)見表4。在窗體上添加一個(gè)框架控件(Frame),將其“Caption〞屬性刪除,“BorderStyle〞屬性選擇“0-None〞。在Fram1中添加一個(gè)數(shù)據(jù)表格(DataGrid),將其“名稱〞屬性設(shè)置為“DataGrid〞,“Visible〞屬性設(shè)置為False。向窗體中添加兩個(gè)ADO數(shù)據(jù)控件(Adodc),將“Adodc1〞的“名稱〞屬性設(shè)置為“Adodc〞,將“Adodc2〞的“名稱〞屬性設(shè)置為“AdodcTemp〞,“Visible〞屬性均設(shè)置為False。這兩個(gè)控件屬性列表中的“ConnectionString〞屬性值均按如下方法設(shè)置。單擊,彈出屬性頁(yè)對(duì)話框,如圖18所示。單擊“生成〞按鈕,進(jìn)入“數(shù)據(jù)鏈接屬性〞對(duì)話框,如圖19所示。圖18圖19選擇“MicrosoftOLEDBProviderforODBCDrivers〞,單擊“下一步〞按鈕,由“提供者〞選項(xiàng)卡跳到“連接〞選項(xiàng)卡,如圖20所示。選中“使用數(shù)據(jù)源名稱〞,在該項(xiàng)下拉列表中選擇“book〞,然后單擊“確定〞按鈕,系統(tǒng)自動(dòng)回到屬性頁(yè)對(duì)話框,單擊確定按鈕即可。圖20進(jìn)入frmMain窗體的代碼視圖,添加如下代碼:PublicSubDisplayGrid(CaptionStrAsString)'將臨時(shí)ADO數(shù)據(jù)控件中的RecordSource屬性賦值給和數(shù)據(jù)表格相連的ADO數(shù)據(jù)控件Adodc.RecordSource=AdodcTemp.RecordSourceAdodc.Refresh'將數(shù)據(jù)表格綁定到ADO數(shù)據(jù)控件SetDataGrid.DataSource=AdodcDataGrid.Refresh'修改數(shù)據(jù)表格的標(biāo)題DataGrid.Caption=CaptionStr'將數(shù)據(jù)表格設(shè)置為用戶可見DataGrid.Visible=TrueEndSub 表4菜單結(jié)構(gòu)設(shè)置菜單項(xiàng)名稱讀者管理ReaderMan….顯示所有讀者DispAllReader….查詢一個(gè)讀者FindOneReader….增加一個(gè)讀者AddReader….刪除一個(gè)讀者DelReader圖書管理BookMan….顯示所有圖書DispAllBook….查詢單冊(cè)FindOneBook….增加新書AddBook….刪除圖書DelBook借閱管理BorrowMan….顯示所有借閱情況DispAllBor….借書Borrow….還書Return….根據(jù)人來查書ReaderToBook….根據(jù)書來查人BookToReader3.顯示所有讀者選擇菜單“讀者管理→顯示所有讀者〞,在代碼編輯窗口中添加以下代碼:PrivateSubDispAllReader_Click()DimRecCountAsInteger'從數(shù)據(jù)庫(kù)表"reader"中查找所有的讀者記錄AdodcTemp.RecordSource="selectreaderidas"&"讀者編號(hào)"&_",readernameas"&"讀者姓名"&",booknumas"&"借閱圖書冊(cè)數(shù)"_&"fromreader"AdodcTemp.RefreshRecCount=AdodcTemp.Recordset.RecordCount'如果查到的記錄數(shù)>0,則顯示所有讀者信息,否則提示"未查到任何讀者記錄",然后顯示一個(gè)空'的數(shù)據(jù)表格。IfRecCount>0ThenDisplayGrid("顯示所有讀者")ElseMsgBox"未查到任何讀者記錄!",,"提示"DisplayGrid("顯示所有讀者")ExitSubEndIfEndSub4.查詢一個(gè)讀者選擇菜單“讀者管理→查詢一個(gè)讀者〞,在代碼編輯窗口中添加以下代碼:PrivateSubFindOneReader_Click()DimRecCountAsInteger'將標(biāo)志變量置為假ActFlag=False'顯示查詢一個(gè)讀者窗體frmFindOneReader.ShowvbModal'若是在查詢一個(gè)讀者窗體中已經(jīng)將ActFlag修改為True時(shí),則查看所查到的記錄條數(shù),如果查到的'記錄條數(shù)>0時(shí),刷新數(shù)據(jù)表格,顯示查詢結(jié)果IfActFlagThenRecCount=AdodcTemp.Recordset.RecordCountIfRecCount>0ThenDisplayGrid("查詢一個(gè)讀者")EndIfEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體的“名稱〞屬性改為“frmFindOneReader〞,“Caption〞屬性改為“查詢一個(gè)讀者〞。在窗體上添加一個(gè)框架控件(Frame)和一個(gè)ADO數(shù)據(jù)控件(Adodc),在Frame1中添加一個(gè)命令按鈕(CommandButton)、一個(gè)標(biāo)簽(Label)和一個(gè)文本框(TextBox)。修改frmFindOneReader窗體控件的屬性,見表5。表5frmFindOneReader窗體控件屬性控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入查詢條件Label1Caption讀者編號(hào)Text1名稱TxtReaderidTextCommand1名稱CmdFindCaption查詢Adodc1名稱AdodcVisibleFalse根據(jù)frmMain主界面中設(shè)置Adodc控件的方法來設(shè)置本窗體的Adodc的屬性,完成以上操作后frmFindOneReader窗體的效果如圖21所示。 圖21 雙擊“查詢〞按鈕,在代碼編輯窗口中添加以下代碼:PrivateSubCmdFind_Click()DimRecCountAsInteger'判斷用戶是否輸入了讀者編號(hào)信息,如果沒有輸入信息,則發(fā)出提示退出子程序IfTrim(TxtReaderid.Text)=""ThenMsgBox"查詢條件不能為空,請(qǐng)?zhí)顚懀?,,"提示"ExitSubEndIf'根據(jù)讀者編號(hào)查詢讀者信息Adodc.RecordSource="selectreaderidas"&"讀者編號(hào)"_&",readernameas"&"讀者姓名"&",booknumas"_&"借閱圖書冊(cè)數(shù)"&"fromreaderwherereaderid="&"'"_&Trim(TxtReaderid.Text)&"'"Adodc.Refresh'如果查到該讀者信息則釋放當(dāng)前窗體,回到主界面在數(shù)據(jù)表格上顯示查到的讀者信息RecCount=Adodc.Recordset.RecordCountIfRecCount>0ThenfrmMain.AdodcTemp.RecordSource="selectreaderidas"_&"讀者編號(hào)"&",readernameas"&"讀者姓名"_&",booknumas"&"借閱圖書冊(cè)數(shù)"_&"fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"frmMain.AdodcTemp.Refresh'將標(biāo)志變量置為真ActFlag=TrueUnloadMeElse'如果沒有查到該讀者的信息則發(fā)出提示,退出子程序MsgBox"查無此人!",,"提示"ExitSubEndIfEndSub5.增加一個(gè)讀者選擇菜單“讀者管理→增加一個(gè)讀者〞,在代碼編輯窗口中添加以下代碼:PrivateSubAddReader_Click()'將標(biāo)志變量置為假ActFlag=False'顯示增加一個(gè)讀者窗體frmAddReader.ShowvbModalIfActFlagThen'如果需要刷新數(shù)據(jù)表格,則顯示所有讀者信息DispAllReader_ClickEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,講窗體的名稱屬性改為“frmAddReader〞,Caption屬性改為“增加一個(gè)讀者〞。在窗體上添加一個(gè)框架控件(Frame),然后在Frame1中添加一個(gè)命令按鈕,兩個(gè)標(biāo)簽,兩個(gè)文本框和一個(gè)ADO數(shù)據(jù)控件(Adodc)。修改frmAddReader窗體控件的屬性,見表6。表6frmAddReader窗體控件屬性控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入數(shù)據(jù)Label1Caption讀者編號(hào)Label2Caption讀者姓名Text1Text名稱TxtReaderidText2Text名稱TxtReaderNameCommand1名稱CmdSaveCaption保存Adodc1名稱AdodcVisibleFalse運(yùn)用frmMain主界面中設(shè)置Adodc的方法來設(shè)置本窗體的Adodc,完成后的frmAddReader窗體效果如圖22所示。圖22雙擊“保存〞按鈕,在代碼編輯窗口中添加以下代碼:PrivateSubCmdSave_Click()DimRecCountAsInteger'判斷是否輸入了讀者編號(hào)和讀者姓名,如果沒有輸入信息,則發(fā)出提示并退出子程序IfTrim(TxtReaderid.Text)=""OrTrim(TxtReaderName.Text)=""ThenMsgBox"請(qǐng)將內(nèi)容填寫完整!",,"提示"ExitSubEndIf'根據(jù)讀者編號(hào)信息查找該讀者是否已經(jīng)存在Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.Refresh'如果該讀者已經(jīng)存在,則發(fā)出提示,并退出子程序RecCount=Adodc.Recordset.RecordCountIfRecCount>0ThenMsgBox"已經(jīng)存在此讀者編號(hào),請(qǐng)重新設(shè)置!",,"提示"ExitSubEndIf'向數(shù)據(jù)庫(kù)表"book"中添加新的讀者記錄Adodc.RecordSource="select*fromreader"Adodc.RefreshAdodc.Recordset.AddNewAdodc.Recordset.Fields("readerid")=Trim(TxtReaderid.Text)Adodc.Recordset.Fields("readername")=Trim(TxtReaderName.Text)Adodc.Recordset.Fields("booknum")=0Adodc.Recordset.UpdateAdodc.Refresh'將標(biāo)志變量置為真ActFlag=TrueUnloadMeEndSub6.刪除一個(gè)讀者選擇菜單“讀者管理→刪除一個(gè)讀者〞,在代碼編輯窗口中添加以下代碼:PrivateSubDelReader_Click()'將標(biāo)志變量置為假ActFlag=False'顯示刪除一個(gè)讀者窗體frmDelReader.ShowvbModal'判斷是否需要刷新數(shù)據(jù)表格,如果需要?jiǎng)t在主界面的數(shù)據(jù)表格中顯示所有的讀者信息IfActFlagThenDispAllReader_ClickEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體的“名稱〞屬性改為“frmDelReader〞,“Caption〞屬性改為“刪除一個(gè)讀者〞。在窗體上添加一個(gè)框架控件(Frame),在Frame1中添加一個(gè)命令按鈕、一個(gè)標(biāo)簽、一個(gè)文本框和一個(gè)ADO數(shù)據(jù)控件。修改frmDelReader窗體控件的屬性,見表7。表7FrmDelReader窗體控件屬性控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入編號(hào)Label1Caption讀者編號(hào)Text1名稱TxtReaderidTextCommand1名稱CmdDelCaption刪除Adodc1名稱AdodcVisibelFalse運(yùn)用frmMain主界面中設(shè)置Adodc的方法來設(shè)置本窗體的Adodc,完成后的frmDelReader窗體效果如圖22所示。圖22雙擊“刪除〞按鈕,在代碼編輯窗口中添加以下代碼:PrivateSubCmdDel_Click()DimRecCountAsInteger'判斷是否輸入了讀者編號(hào)信息,如果沒有輸入則發(fā)出提示并退出子程序IfTrim(TxtReaderid.Text)=""ThenMsgBox"請(qǐng)?zhí)钊刖幪?hào)信息!",,"提示"ExitSubEndIf'根據(jù)讀者編號(hào)查找讀者信息Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.Refresh'如果沒有該讀者信息則提示"查無此人!"信息,退出子程序RecCount=Adodc.Recordset.RecordCountIfRecCount<1ThenMsgBox"查無此人!",,"提示"ExitSubEndIf'根據(jù)讀者編號(hào)信息從數(shù)據(jù)庫(kù)表"borrow"中查找該讀者的借閱記錄Adodc.RecordSource="select*fromborrowwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.Refresh'如果存在該讀者的借閱記錄,提示"此人有書未歸還,故不能刪除!"信息,退出子程序RecCount=Adodc.Recordset.RecordCountIfRecCount>0ThenMsgBox"此人有書未歸還,故不能刪除!",,"提示"ExitSubEndIf'從數(shù)據(jù)庫(kù)表"reader"中找到該讀者記錄,刪除Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.RefreshAdodc.Recordset.DeleteAdodc.Refresh'將標(biāo)志變量置為真ActFlag=TrueUnloadMeEndSub7.顯示所有圖書選擇菜單“圖書管理→顯示所有圖書〞,在代碼編輯窗口中添加以下代碼:PrivateSubDispAllBook_Click()DimRecCountAsInteger'從數(shù)據(jù)庫(kù)表"book"中查找所有的圖書記錄AdodcTemp.RecordSource="selectbookidas"_&"圖書編號(hào)"&",booknameas"&"圖書名稱"_&",bookstateas"&"此書是否已借出"&"frombook"AdodcTemp.Refresh'如果查到的記錄數(shù)>0則刷新數(shù)據(jù)表格顯示查到的圖書信息,否則提示"未查到任何圖書記錄!"信息'并刷新數(shù)據(jù)表格顯示空表RecCount=AdodcTemp.Recordset.RecordCountIfRecCount>0ThenDisplayGrid("顯示所有圖書")ElseMsgBox"未查到任何圖書記錄!",,"提示"DisplayGrid("顯示所有圖書")ExitSubEndIfEndSub8.查詢單冊(cè)選擇菜單“圖書管理→查詢單冊(cè)〞,在代碼編輯窗口中添加以下代碼:PrivateSubFindOneBook_Click()DimRecCountAsInteger'將標(biāo)志變量置為假ActFlag=False'顯示查詢單冊(cè)窗體frmFindOneBook.ShowvbModal'判斷是否需要刷新數(shù)據(jù)表格IfActFlagThenRecCount=AdodcTemp.Recordset.RecordCountIfRecCount>0ThenDisplayGrid("查詢單冊(cè)")EndIfEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體〞(名稱)〞屬性改為〞frmFindOneBook〞,〞caption〞屬性改為“查詢單冊(cè)〞。在窗體添加一個(gè)框架控件(Frame)和一個(gè)ADO數(shù)據(jù)控件(Adodc),在〞Frame1”中添加一個(gè)命令按鈕(CommandButton)、一個(gè)標(biāo)簽(label)和一個(gè)文本框(textbox)。修改frmFindOneBook窗體控件的屬性如表8所示:表8frmFindOneBook窗體控件屬性控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入查詢條件labelCaption圖書編號(hào)Text1名稱txtbookidtextCommand1名稱CmdfindCaption查詢Adodc1名稱Adodcvisiblefalse根據(jù)“frmMain〞主界面中的設(shè)置“Adodc〞的方法來設(shè)置本窗體的“Adodc〞的“connectionstring〞屬性。雙擊“查詢〞按鈕,在代碼編譯窗口中添加以下代碼:PrivateSubCmdFind_Click()DimRecCountAsInteger'判斷是否輸入了圖書編號(hào),如果沒有輸入信息,則發(fā)出提示,并退出子程序IfTrim(TxtBookid.Text)=""ThenMsgBox"查詢條件不能為空,請(qǐng)?zhí)顚懀?,,"提示"ExitSubEndIf'根據(jù)圖書編號(hào)查找該圖書信息Adodc.RecordSource="selectbookidas"&"圖書編號(hào)"_&",booknameas"&"圖書名稱"&",bookstateas"_&"此書是否已借出"&"frombookwherebookid="&"'"_&Trim(TxtBookid.Text)&"'"Adodc.Refresh'如果查到的記錄數(shù)>0,則返回主界面在數(shù)據(jù)表格中顯示查到的圖書信息RecCount=Adodc.Recordset.RecordCountIfRecCount>0ThenfrmMain.AdodcTemp.RecordSource="selectbookidas"_&"圖書編號(hào)"&",booknameas"&"圖書名稱"_&",bookstateas"&"此書是否已借出"_&"frombookwherebookid="&"'"&Trim(TxtBookid.Text)_&"'"frmMain.AdodcTemp.RefreshActFlag=TrueUnloadMeElse'若沒查到該圖書信息,則提示"查無此書!"信息,退出子程序MsgBox"查無此書!",,"提示"ExitSubEndIfEndSub9.添加新書選擇菜單“圖書管理→增加新書〞,在代碼編輯窗口中添加以下代碼:PrivateSubAddBook_Click()'將標(biāo)志變量置為假ActFlag=False'顯示增加新書窗體frmAddBook.ShowvbModal'判斷如果需要刷新數(shù)據(jù)表格,則在主界面中顯示所有的圖書信息IfActFlagThenDispAllBook_ClickEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體“(名稱)〞屬性改為“frmAddBook〞,“caption〞屬性改為“增加新書〞。在窗體上添加一個(gè)框架控件(frame),在“frame1〞中添加一個(gè)命令按鈕(commandbutton)、兩個(gè)標(biāo)簽(label)、兩個(gè)文本框(textbox)和一個(gè)ADO數(shù)據(jù)控件(Adodc),如下表所示:控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入數(shù)據(jù)Label1Caption圖書編號(hào)Label2Caption圖書名稱Text1名稱txtbookidtextText2名稱txtbooknametextCommand1名稱CmdsaveCaption保存Adodc1名稱Adodcvisiblefalse根據(jù)〞frmMain〞主界面中的設(shè)置“Adodc〞的方法來設(shè)置本窗體的“Adodc〞的“connectionstring〞屬性。雙擊“保存〞按鈕,在代碼編輯窗口中添加以下代碼:PrivateSubCmdSave_Click()DimRecCountAsInteger'判斷是否輸入了圖書編號(hào)和圖書名稱信息,如果沒有輸入則發(fā)出提示并退出子程序IfTrim(TxtBookid.Text)=""OrTrim(TxtBookName.Text)=""ThenMsgBox"請(qǐng)將內(nèi)容填寫完整!",,"提示"ExitSubEndIf'根據(jù)圖書編號(hào)查找是否存在該圖書記錄,如果存在,則提示"已經(jīng)存在此圖書編號(hào),請(qǐng)重新設(shè)置!"'則提示退出子程序Adodc.RecordSource="select*frombookwherebookid="&"'"&Trim(TxtBookid.Text)&"'"Adodc.RefreshRecCount=Adodc.Recordset.RecordCountIfRecCount>0ThenMsgBox"已經(jīng)存在此圖書編號(hào),請(qǐng)重新設(shè)置!",,"提示"ExitSubEndIf'在數(shù)據(jù)庫(kù)表"book"中添加該新書記錄Adodc.RecordSource="select*frombook"Adodc.RefreshAdodc.Recordset.AddNewAdodc.Recordset.Fields("bookid")=Trim(TxtBookid.Text)Adodc.Recordset.Fields("bookname")=Trim(TxtBookName.Text)Adodc.Recordset.Fields("bookstate")="否"Adodc.Recordset.UpdateAdodc.Refresh'將標(biāo)志變量置為真ActFlag=TrueUnloadMeEndSub10.刪除圖書選擇菜單“圖書管理→刪除圖書“,在代碼編輯窗口中添加以下代碼:PrivateSubDelBook_Click()'將標(biāo)志變量置為假ActFlag=False'顯示刪除圖書窗體frmdelbook.ShowvbModal'判斷是否需要刷新數(shù)據(jù)表格,如果需要的話則在數(shù)據(jù)表格中顯示所有的圖書記錄IfActFlagThenDispAllBook_ClickEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體“(名稱)〞屬性改為“frmdelbook〞,“caption〞屬性改為“刪除圖書〞。在窗體上添加一個(gè)框架控件(Frame),在〞Frame1”中添加一個(gè)命令按鈕(commandbutton)、一個(gè)標(biāo)簽(label)、一個(gè)文本框(textbox)和一個(gè)ADO數(shù)據(jù)控件(Adodc),如下表所示:控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入編號(hào)Label1Caption圖書編號(hào)Text1名稱txtbookidTextCommand1名稱CmddelCaption刪除Adodc1名稱Adodcvisiblefalse根據(jù)“frmMain〞主界面中的設(shè)置“Adodc〞的方法來設(shè)置本窗體的“Adodc〞的“connectionstring〞屬性,完成以上操作后frmDelBook窗體效果如下列圖所以:雙擊“刪除〞按鈕,在代碼編輯窗口中添加以下代碼:PrivateSubCmdDel_Click()DimRecCountAsInteger'判斷是否輸入圖書編號(hào),如果沒有輸入數(shù)據(jù),則發(fā)出提示并退出子程序IfTrim(TxtBookid.Text)=""ThenMsgBox"請(qǐng)?zhí)钊刖幪?hào)信息!",,"提示"ExitSubEndIf'根據(jù)圖書編號(hào)從數(shù)據(jù)庫(kù)表"book"中查找該圖書的記錄。Adodc.RecordSource="select*frombookwherebookid="_&"'"&Trim(TxtBookid.Text)&"'"Adodc.RefreshRecCount=Adodc.Recordset.RecordCount'如果沒有該圖書的信息,則提示"查無此書!"信息,退出子程序IfRecCount<1ThenMsgBox"查無此書!",,"提示"ExitSubEndIf'如果該圖書已經(jīng)借出,則提示"此書尚未歸還,故不能刪除!"并退出子程序IfAdodc.Recordset.Fields("bookstate")="是"ThenMsgBox"此書尚未歸還,故不能刪除!",,"提示"ExitSubEndIf'刪除該圖書記錄Adodc.Recordset.DeleteAdodc.Refresh'將標(biāo)志變量置為真ActFlag=TrueUnloadMeEndSub11.顯示所有借閱情況選擇菜單“借閱管理→顯示所有借閱記錄〞,進(jìn)入代碼編輯窗口中添加代碼如下:PrivateSubDispAllBor_Click()DimRecCountAsInteger'用多表連接查詢語(yǔ)句查詢所有的圖書借閱記錄AdodcTemp.RecordSource="selectborrow.readeridas"_&"讀者編號(hào)"&",reader.readernameas"&"讀者姓名"_&",borrow.bookidas"&"所借圖書編號(hào)"&",book.booknameas"_&"所借圖書名稱"&"fromborrow,reader,book"_&"whereborrow.readerid=reader.readeridand"_&"borrow.bookid=book.bookid"AdodcTemp.RefreshRecCount=AdodcTemp.Recordset.RecordCountIfRecCount>0Then'如果查到的記錄數(shù)>0,則在數(shù)據(jù)表格中顯示所有的借閱記錄DisplayGrid("顯示所有借閱情況")Else'否則,提示"沒有任何借閱記錄!"信息并顯示一個(gè)空表MsgBox"沒有任何借閱記錄!",,"提示"DisplayGrid("顯示所有借閱情況")ExitSubEndIfEndSub12.借書選擇菜單“借閱管理→借書〞,在代碼編輯窗口中添加以下代碼:PrivateSubBorrow_Click()DimRecCountAsInteger'將標(biāo)志變量置為假ActFlag=False'顯示借書窗體frmborrow.ShowvbModal'判斷是否需要刷新數(shù)據(jù)表格,如果需要?jiǎng)t顯示剛剛借書讀者的借閱記錄IfActFlagThenRecCount=AdodcTemp.Recordset.RecordCountIfRecCount>0ThenDisplayGrid("此人借閱記錄")EndIfEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體〞(名稱)〞屬性改為〞Frmborrow〞,〞Caption〞屬性改為“借書〞。在窗體上添加一個(gè)框架控件(Frame),在Frame1中添加一個(gè)命令按鈕(Commandbutton)、兩個(gè)標(biāo)簽(Label)、兩個(gè)文本框(Textbox)和一個(gè)ADO數(shù)據(jù)控件(Adodc)。修改frmborrow窗體控件的屬性,如下表:控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入數(shù)據(jù)Label1Caption圖書編號(hào)Label2Caption讀者編號(hào)Text1名稱TxtbookidTextText2名稱TxtReaderidTextCommand1名稱CmdborrowCaption借書Adodc1名稱AdodcVisibleFalse根據(jù)“frmMain〞主界面中設(shè)置“Adodc〞的方法來設(shè)置來本窗體的“Adodc〞的“Connectionstring〞屬性。雙擊“借書〞按鈕,在代碼編輯窗口中添加以下代碼:PrivateSubCmdBorrow_Click()DimRecCount1AsIntegerDimRecCount2AsIntegerDimBookStateStrAsString'判斷是否輸入了圖書編號(hào)和讀者編號(hào),如果沒有輸入,則發(fā)出提示并退出子程序IfTrim(TxtBookid.Text)=""OrTrim(TxtReaderid.Text)=""ThenMsgBox"各項(xiàng)數(shù)據(jù)請(qǐng)?zhí)顚懲暾?,,"提示"ExitSubEndIf'根據(jù)圖書編號(hào)查詢?cè)搱D書記錄是否存在Adodc.RecordSource="select*frombookwherebookid="&"'"&Trim(TxtBookid.Text)&"'"Adodc.RefreshRecCount1=Adodc.Recordset.RecordCountIfRecCount1>0ThenBookStateStr=Adodc.Recordset.Fields("bookstate")IfBookStateStr="是"Then'根據(jù)讀者編號(hào)查找該讀者記錄是否存在Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.RefreshRecCount2=Adodc.Recordset.RecordCountIfRecCount2<1Then'如果該圖書存在并且已經(jīng)借出,又不存在此讀者,則提示"該書已經(jīng)借出,也無此人!"MsgBox"該書已經(jīng)借出,也無此人!",,"提示"ExitSubElse'如果該圖書存在并且已經(jīng)借出,而存在此讀者,則提示"該書已經(jīng)借出,您不能借閱此書!"MsgBox"該書已經(jīng)借出,您不能借閱此書!",,"提示"ExitSubEndIfEndIf'根據(jù)讀者編號(hào)查找該讀者記錄Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.RefreshRecCount2=Adodc.Recordset.RecordCountIfRecCount2<1Then'如果該圖書存在,沒有借出,然而此讀者不存在,則提示"查無此人!"MsgBox"查無此人!",,"提示"ExitSubEndIfEndIf'根據(jù)圖書編號(hào)查找該圖書的記錄Adodc.RecordSource="select*frombookwherebookid="_&"'"&Trim(TxtBookid.Text)&"'"Adodc.RefreshRecCount1=Adodc.Recordset.RecordCountIfRecCount1<1Then'根據(jù)讀者編號(hào)查找此讀者記錄Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.RefreshRecCount2=Adodc.Recordset.RecordCountIfRecCount2<1Then'如果既沒有此圖書也沒有此讀者,則提示"查無此書,也無此人!"信息MsgBox"查無此書,也無此人!",,"提示"ExitSubElse'如果沒有此圖書,但是有此讀者,則提示"查無此書!"信息MsgBox"查無此書!",,"提示"ExitSubEndIfEndIf'根據(jù)圖書編號(hào)查到在數(shù)據(jù)庫(kù)表"book"中該圖書的記錄Adodc.RecordSource="select*frombookwherebookid="_&"'"&Trim(TxtBookid.Text)&"'"Adodc.Refresh'將該圖書的記錄是否借出狀態(tài)修改為"是"Adodc.Recordset.Fields("bookstate")="是"Adodc.Recordset.UpdateAdodc.Refresh'在數(shù)據(jù)庫(kù)表"borrow"中添加一條相應(yīng)的借閱記錄Adodc.RecordSource="select*fromborrow"Adodc.RefreshAdodc.Recordset.AddNewAdodc.Recordset.Fields("bookid")=Trim(TxtBookid.Text)Adodc.Recordset.Fields("readerid")=Trim(TxtReaderid.Text)Adodc.Recordset.UpdateAdodc.Refresh'在數(shù)據(jù)庫(kù)表"reader"中查找到該讀者的記錄Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.Refresh'將該讀者得借閱冊(cè)數(shù)加"1"Adodc.Recordset.Fields("booknum")=Adodc.Recordset.Fields("booknum")+1Adodc.Recordset.UpdateAdodc.Refresh'修改主界面臨時(shí)ADO數(shù)據(jù)控件的RecordSource屬性,以備刷新數(shù)據(jù)表格用frmmain.AdodcTemp.RecordSource="selectborrow.readeridas"_&"讀者編號(hào)"&",reader.readernameas"&"讀者姓名"_&",borrow.bookidas"&"所借圖書編號(hào)"&",book.booknameas"_&"所借圖書名稱"&"fromborrow,reader,bookwhere"_&"borrow.readerid=reader.readeridandborrow.bookid=book.bookid"_&"andborrow.readerid="&"'"&Trim(TxtReaderid.Text)&"'"frmmain.AdodcTemp.Refresh'將標(biāo)志變量置為真ActFlag=TrueUnloadMeEndSub13.還書選擇菜單“借閱管理→還書〞,在代碼編輯窗口中添加以下代碼:PrivateSubReturn_Click()DimRecCountAsInteger'將標(biāo)志變量置為假ActFlag=False'顯示還書窗體frmreturn.ShowvbModal'判斷是否需要刷新數(shù)據(jù)表格,如果需要的話,則在數(shù)據(jù)表格中顯示"該書原讀者未還書記錄"IfActFlagThenRecCount=AdodcTemp.Recordset.RecordCountDisplayGrid("該書原讀者未還書記錄")EndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體“(名稱)〞屬性改為“frmReturn〞,“Caption〞屬性改為“還書〞。在窗體上添加一個(gè)框架控件(Frame),在〞Frame1”中添加一個(gè)命令按鈕(Commandbutton),一個(gè)標(biāo)簽(Label),一個(gè)文本框架(TextBox)和一個(gè)ADO數(shù)據(jù)控件(Adodc).修改frmReturn窗體控件的屬性,如下表所示:控件名稱屬性名稱屬性設(shè)置Frame1Caption輸入數(shù)據(jù)Label1Caption圖書編號(hào)Text1名稱TxtbookidTextCommand1名稱CmdreturnCaption還書Adodc1名稱AdodcVisibleFalse運(yùn)用“frmMain〞主界面中設(shè)置“Adodc〞的方法來設(shè)置本窗體的“Adodc〞的“ConnectionString〞屬性。雙擊“還書〞按鈕,在代碼編輯窗口中添加以下PrivateSubCmdReturn_Click()DimRecCountAsIntegerDimDelReaderidStrAsString'判斷是否輸入了所還圖書的圖書編號(hào)IfTrim(TxtBookid.Text)=""ThenMsgBox"請(qǐng)將數(shù)據(jù)填寫完整!",,"提示"ExitSubEndIf'根據(jù)圖書編號(hào)查找圖書記錄Adodc.RecordSource="select*frombookwherebookid="&"'"&Trim(TxtBookid.Text)&"'"Adodc.RefreshRecCount=Adodc.Recordset.RecordCount'如果圖書記錄數(shù)為0,則提示"查無此書!"信息,退出子程序IfRecCount<1ThenMsgBox"查無此書!",,"提示"ExitSubEndIf'根據(jù)圖書編號(hào)在數(shù)據(jù)庫(kù)表"borrow"中查找該圖書得借閱記錄Adodc.RecordSource="select*fromborrowwherebookid="_&"'"&Trim(TxtBookid.Text)&"'"Adodc.RefreshRecCount=Adodc.Recordset.RecordCount'如果沒有查到該圖書的借閱記錄,則提示"此書并未被借出,故不需歸還!",退出子程序IfRecCount<1ThenMsgBox"此書并未被借出,故不需歸還!",,"提示"ExitSubEndIf'用變量DelReaderidStr記錄借閱該圖書的讀者編號(hào)DelReaderidStr=Adodc.Recordset.Fields("readerid")'刪除在"borrow"表中該圖書的借閱記錄Adodc.Recordset.DeleteAdodc.Refresh'根據(jù)圖書編號(hào)從數(shù)據(jù)庫(kù)表"book"中查找該圖書的記錄Adodc.RecordSource="select*frombookwherebookid="&"'"&Trim(TxtBookid.Text)&"'"Adodc.RefreshRecCount=Adodc.Recordset.RecordCount'將該圖書的是否借出字段值修改為"否"IfRecCount>0ThenAdodc.Recordset.Fields("bookstate")="否"Adodc.Recordset.UpdateEndIf'根據(jù)讀者編號(hào)查找該讀者的記錄Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&DelReaderidStr&"'"Adodc.RefreshRecCount=Adodc.Recordset.RecordCountIfRecCount>0Then'將該讀者的借閱冊(cè)數(shù)減1Adodc.Recordset.Fields("booknum")=Adodc.Recordset.Fields("booknum")-1Adodc.Recordset.UpdateAdodc.RefreshEndIf'用將多表連接查詢語(yǔ)句來查詢?cè)搱D書原借閱讀者的所有現(xiàn)有借閱記錄frmmain.AdodcTemp.RecordSource="selectborrow.readeridas"_&"讀者編號(hào)"&",reader.readernameas"&"讀者姓名"_&",borrow.bookidas"&"所借圖書編號(hào)"&",book.booknameas"_&"所借圖書名稱"&"fromborrow,reader,bookwhere"_&"borrow.readerid=reader.readeridandborrow.bookid=book.bookid"_&"andborrow.readerid="&"'"&DelReaderidStr&"'"frmmain.AdodcTemp.Refresh'將標(biāo)志變量置為真ActFlag=TrueUnloadMeEndSub14.根據(jù)人來查書選擇菜單“借閱管理→根據(jù)人來查書〞,在代碼編輯窗口中添加以下代碼:PrivateSubReaderToBook_Click()DimRecCountAsInteger''將標(biāo)志變量置為假ActFlag=False'顯示根據(jù)人來查書窗體frmreadertobook.ShowvbModal'判斷是否需要在數(shù)據(jù)表格中顯示"根據(jù)人來查書"IfActFlagThenRecCount=AdodcTemp.Recordset.RecordCountIfRecCount>0ThenDisplayGrid("根據(jù)人來查書")EndIfEndIfActFlag=FalseEndSub為工程添加一個(gè)新的窗體,將新窗體“(名稱)〞屬性改為“frmReaderToBook〞,“Caption〞屬性改為“根據(jù)人來查書〞。在窗體上添加一個(gè)框架控件(Frame),在“Frame1〞中添加一個(gè)命令按鈕(commandbutton),一個(gè)標(biāo)簽(Label)、一個(gè)文本框(Textbox)和一個(gè)ADO數(shù)據(jù)控件(Adodc).修改frmReaderToBook窗體控件的屬性,如下表所示:控件名稱屬性名稱屬性設(shè)置值Frame1Caption輸入查詢條件Label1Caption讀者編號(hào)Text1名稱TxtreaderidTextCommand1名稱CmdFindCaption查詢Adodc1名稱AdodcVisibleFalse根據(jù)“frmMain〞主界面中設(shè)置“Adodc〞的方法來設(shè)置本窗體的“Adodc〞的“ConnectionString〞屬性。雙擊“查詢〞按鈕,在代碼編輯窗口中添加以下代碼:PrivateSubCmdFind_Click()DimRecCountAsInteger'判斷是否輸入了讀者編號(hào)信息,如果沒有輸入數(shù)據(jù),則發(fā)出提示并退出子程序IfTrim(TxtReaderid.Text)=""ThenMsgBox"請(qǐng)輸入查詢條件!",,"提示"ExitSubEndIf'根據(jù)讀者編號(hào)查找該讀者記錄Adodc.RecordSource="select*fromreaderwherereaderid="_&"'"&Trim(TxtReaderid.Text)&"'"Adodc.RefreshRecCount=Adodc.Recordset.RecordCount'如果查到的記錄條數(shù)為0,則提示"查無此人!"信息,退出子程序IfRecCount<1ThenMsgBox"查無此人!",,"提示"ExitSubEndIf'根據(jù)讀者編號(hào)在數(shù)據(jù)庫(kù)表"borrow"中查找該讀者得借閱記錄Adodc.RecordSource="
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新生兒復(fù)蘇培訓(xùn)制度
- 教職工績(jī)效考核細(xì)則制度
- 國(guó)際關(guān)系學(xué)院雙語(yǔ)教學(xué)課程建設(shè)項(xiàng)目申請(qǐng)表
- 罕見藥藥源性疾病的防控策略
- 2026安徽省面向中國(guó)農(nóng)業(yè)大學(xué)選調(diào)生招錄備考題庫(kù)有答案詳解
- 2026上半年海南事業(yè)單位聯(lián)考瓊海市招聘事業(yè)單位工作人員167人備考題庫(kù)(1號(hào))及一套參考答案詳解
- 2026年1月廣東廣州市幼兒師范學(xué)校附屬幼兒園招聘編外聘用制專任教師2人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- 罕見腫瘤的個(gè)體化治療療效預(yù)測(cè)模型構(gòu)建與個(gè)體化治療路徑
- 2026安徽蕪湖臻鑫智鎂科技有限公司招聘2人備考題庫(kù)完整參考答案詳解
- 設(shè)備租賃行業(yè)財(cái)務(wù)制度
- 上腔靜脈綜合征患者的護(hù)理專家講座
- 免責(zé)協(xié)議告知函
- 食物與情緒-營(yíng)養(yǎng)對(duì)心理健康的影響
- 2023氣管插管意外拔管的不良事件分析及改進(jìn)措施
- 麻醉藥品、精神藥品月檢查記錄
- 基礎(chǔ)化學(xué)(本科)PPT完整全套教學(xué)課件
- 蕉嶺縣幅地質(zhì)圖說明書
- 電梯控制系統(tǒng)論文
- (完整word版)人教版初中語(yǔ)文必背古詩(shī)詞(完整版)
- 湖北省地質(zhì)勘查坑探工程設(shè)計(jì)編寫要求
- GB/T 4310-2016釩
評(píng)論
0/150
提交評(píng)論