用VB編寫一個簡單的圖書管理系統(tǒng)_第1頁
用VB編寫一個簡單的圖書管理系統(tǒng)_第2頁
用VB編寫一個簡單的圖書管理系統(tǒng)_第3頁
用VB編寫一個簡單的圖書管理系統(tǒng)_第4頁
用VB編寫一個簡單的圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、用vb編寫一個簡單的圖書管理系統(tǒng)sri 2011009(學(xué)號)石二遼(姓名)指導(dǎo)教師徐哲鑫【摘要】筆者采用visual basic 6.0為開發(fā)工具,設(shè)計一款具備友好的圖形用戶界面、簡便操作的圖書管理系 統(tǒng)。充分利用計算機功能實現(xiàn)讀者管理、書籍管理、借還書籍管理等信息的自動化控制,將使圖書管理員從繁雜、重復(fù) 的勞作中解放出來?!娟P(guān)鍵詞】圖書;面向?qū)ο螅卉浖こ?概述1.1開發(fā)背景用計算機管理陳|5館里一切信息是一種計算機應(yīng)用技術(shù)的創(chuàng)新,在計算機還未普及之前圖管理都 是由圖書管理人員手工記帳的方式來操作的.現(xiàn)在一般的圖書館都足采川計算機作為工具,使川實川的 罔書管理程序來幫助罔|5館管理員進行更

2、冇效的圖|5管理。1.2圖書管理系統(tǒng)產(chǎn)生的背景圖書管玴系統(tǒng)是典型的信息管理系統(tǒng),m:開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端極用程序 的開發(fā)兩個方面。對于臺數(shù)據(jù)庫的建立和維護要求建立起數(shù)據(jù)一致性和完整性強、數(shù)裾安全性好的庫。 而對于前端應(yīng)用程序則耍求應(yīng)用程序具備功能完備、友好的閣形用戶界而、便捷使用等特點1。1.3系統(tǒng)功能要求的分析開發(fā)木系統(tǒng)的總體任務(wù)是實現(xiàn)圖15管理系統(tǒng)的系統(tǒng)化和im動化,幫助圖15管理鉍吏好更高效地完成 圖書管理工作,本系統(tǒng)要完成的功能主要有:15籍管理部分:圖|5類別管理和罔信息管理。其中,15籍類別管理包括添加ji籍類別、修改|5籍 類別、刪除書籍類別等;書籍信息管理

3、包括書籍信息的添加、修改、杏詢、刪除等。讀者管理部分:讀者類別管理和讀者信息管理,讀者類別管理包括讀者類別添加、修改、刪除等; 讀者信息包括讀蕎添加讀#信息、修改讀者信息、杳詢讀者信息、刪除讀者信息等。借閱管理部分:借15信息管理和還15信息管理,借15信息管理、還信息管理均包括其信息的添加、 修改、杏詢等。系統(tǒng)管理部分:添加管理員,修改密碼,退出系統(tǒng)。2開發(fā)環(huán)境及實現(xiàn)技術(shù)介紹2.1開發(fā)軟件介紹由于我的工作單位是一所中心小學(xué),有大雖的|5籍,讀者冇學(xué)生、老師,于是木人想設(shè)計一款實用 的閣書管理系統(tǒng),方便學(xué)校閣書管理員工作,增強閣書借閱力度,良好地管理書籍及其借閱信怠。2. 2模塊設(shè)計2書籍管理

4、部分實現(xiàn)對書籍類別、書籍信息的添加、修改、刪除等操作。讀者管理部分實現(xiàn)對讀者類別、讀蕎信總的添加、修改、刪除等操作。借閱管理部分實現(xiàn)對借書信息、還書信總的添加、修改、查詢等操作。系統(tǒng)管理部分實現(xiàn)超級用p對普通用p的用p名和密碼對注冊、修改等操作。2. 3程序預(yù)覽運行木系統(tǒng)程序,首先出現(xiàn)登錄界面(圖2),輸入正確用戶名及密碼后進入主窗體(圖3),主 窗體上的主菜單欄有:書籍管理、讀者管理、借閱管理、系統(tǒng)設(shè)置及幫助。*登錄圖書官理系統(tǒng) srl2011009pn|px用戶名:石馬:|取消 |登錄圖書管理系統(tǒng) sr!201 1009福建菜大學(xué)軟件工程畢石二江書緖管理讀者管理借閱管理系統(tǒng)設(shè)罝幫助(h )

5、2.3. 1書籍管理功能“ |5籍管理”菜單f有兩個一級菜單:“ |5籍信息管理”和“ |5籍類別管理”。具體操作如下:1. “書籍類別管理”下有三個子菜單:“新增”、“修改”、“刪除”。單擊“新增”菜單,打開“新垴15籍類別”窗體(圖4)。單擊“修改”或“刪除”,都會打開“15籍類別信息管理”窗體(?!5) o圖4圖52. “書籍信息管理”下有叫個子菜單:“新增圖書”、“修改書籍信息”、“刪除書籍信息”、“査詢書籍信息”。單擊“新增圖書”菜單,打開“新增書籍”窗體(閣6)。單擊“修改”或“刪除”, 都會打開“書籍信息管理”窗體(圖7)。單擊“査詢書籍信息”菜單,打開“査詢圖書”窗體(圖8)圖

6、6圖7圖82. 3. 2讀者管理功能“讀者管理”菜單下有兩個一級菜單:“讀者類別管理”和“讀者信息管理”。1. “讀者類別管理”下冇3個子菜單:“添加讀者類別”、“修改讀者類別”、“刪除讀者類別”。單擊“添加讀者類別”菜單,打開“添加讀者類別”窗體(圖9);單擊“修改讀者類別”和“刪除讀 者類別”菜單,都會打開“讀者類別管理”窗體(圖10)。-添加財期i srl201i009b叵因質(zhì)定馳* 瀵«天爛它1 $rl?oiiow閣9閣102. “讀者信息管理”菜單下有4個子菜單:“添加讀者信息”、“修改讀者信息”、“刪除瀆者 信息”和“查詢讀者信息”。單擊“添加讀者信息”菜單,打開“添加讀

7、者信息”窗體(圖11),單 擊“修改讀者信息”和“刪除讀者倌息”菜雄,都會打開“讀者信息管理”窗體(閣12),單擊“查 詢讀者信息”菜單,打開“查詢讀者信息”窗體(圖13)。圖11ttllftm曲 i 鶼 i * ir廠r mt»1釗紗陶鑰««1 1b=圖12圖132.3.3圖書借閱管理功能“借閱管理”菜單下有2個一級菜單:“借書管理”和“還書管理”。1. “借書管理”菜單下有2個子菜單:“添加借書信息”和“查詢借書信息”。單擊“添加借書 信息”先打開的是“查詢閔15”窗體(罔8),找到需要借閱的閔單擊“借這木書按鈕”,打開 “借書”窗體(圖14);單擊“查詢借書

8、信息”菜卑,打開“查詢借書信息”窗體(圖15)。* ffr» scl2oiiom«nt 埃號r 書名r 作者r 出刖期類別r 出我社r毅日瘧今mmt颺w廠3-««餓|號 §者姓名r於破圖14圖152.單擊“還|5管理”,打開“還|5”窗體(閣16)。罔162. 3. 4系統(tǒng)管理功能“系統(tǒng)管理”菜單下有3個子菜單,分別是“添加管理員”、“修改密鍆”和“返!li系統(tǒng)”。單擊 “添加管理員”子菜單,打開“添加管理員”窗體(圖17),單擊“修改密鑰”子菜單,打開“修改 密碼”窗體(圖18),單擊“退岀系統(tǒng)”,備份數(shù)據(jù)并退ill本系統(tǒng)。*添加它理員srl

9、2011009回®閣17畈修改密碼 srl2011009閣182. 3. 5幫助菜單單擊“幫助”菜單,打開系統(tǒng)信息窗體(圖1),點擊系統(tǒng)信息窗體任何一處,關(guān)閉該信息窗體, 返回主窗體。學(xué)號 sr12011009指導(dǎo)老師徐哲1福建師范大學(xué)書管理系統(tǒng)s開發(fā)工具vb6. 0 版本1.0.0版權(quán)歸石二遼所有警吿未經(jīng)我公司批準(zhǔn),任何人不得以商業(yè)為目的、銷售本系統(tǒng).2.4數(shù)據(jù)庫設(shè)計數(shù)椐庫名為sj. mdb,在庫中設(shè)計六張表,它們分別為dzlb(讀者類別表)、dzxx(讀者信息表)、 jyxx(借閱信息表)、sjxx(書籍信息表)、sjlb(書籍類別表)、sys(系統(tǒng)管理表)。sj :數(shù)據(jù)庫(ac

10、cess 2002 - 2003文件格式)同岡離表珣體表 塊查窗報頁宏根jsjrlnjrljlll使用設(shè)計器創(chuàng)建表使用向?qū)?chuàng)建表通過輸入數(shù)據(jù)創(chuàng)建表dzlbdzxxjyxxsjlbsjxxsys打開(q) g設(shè)計新建x | - 岡露組收藏夾2.4.1讀者類別表,表名為dzlb,字段名稱有瀆者類別名稱、讀者借書數(shù)量、借書期限及有限期限,設(shè)置“讀 者類別名稱”為主鍵,是必填字段,不允許空值。sj :數(shù)據(jù)庫(access 2002 - 200hi dzlb :衷字段名稱數(shù)據(jù)類型讀若類別名稱義本讀者借書數(shù)量數(shù)字借書期限數(shù)字有限期限數(shù)字2. 4. 2讀者信息表:設(shè)置“讀者編號”為主鍵,“讀者編號”、“讀者

11、姓名”為必填字段,不允許空值。isj :數(shù)根庫(access 2002 - 2003 文件格式)苗dzxx :表字段名稱數(shù)據(jù)類型讀者編號i文本讀者姓名文本性別文本讀者類別文本工作單位文本家庭地址文本聯(lián)系方式文本登記日期日期/時間已借書數(shù)理數(shù)字2.4.3借閱信息表:為必填字段,不允許空伉。sj :數(shù)據(jù)庫(access 2002 - 2003文件格式)酗jyxx :表字段名稱數(shù)據(jù)類型借閱編號1自動編號讀者編號文本讀者姓名文本書籍編號文本書籍名稱借出日期日期/時間還書日期日期/時間2. 4. 4書籍信息表:設(shè)置“閣|5編號”為主鍵,“閣|5編號”、“15籍名稱isj :數(shù)據(jù)庫(access 2002

12、 - 2003 文件格式)tosjxx :表字段名稱數(shù)據(jù)類型囝書編號文本書籍名稱文本類別文本作者文本出版社文本出版日期日期/時間登記日期日期/時間是否被借出-12. 4. 5圖書類別表:數(shù)據(jù)庫(access 2002 - 2003 文件格式)涯sjlb :表字段名稱!數(shù)據(jù)類型1類別編號1文本i類別名稱文本2.4.6系統(tǒng)管理表:dp sj :數(shù)據(jù)庫(access 2002 - 2003 文件格式)囲sys :表字段名稱數(shù)據(jù)類型uname文本uid文本bz文本2.4.7數(shù)據(jù)庫連接方式選擇visual basic6.0連接數(shù)據(jù)庫的主耍方式有以下幾種方式:一是用data控件進行數(shù)據(jù)庫鏈接,二是 利用a

13、dodc (ado data control)進行數(shù)據(jù)庫鏈接。三是:利用dataenvironment進行數(shù)據(jù)庫鏈接,四 是利用 ado (activex data objects)進行編程。利用dao對數(shù)據(jù)庫進行操縱3:在visual basic中提供丫兩種與jet數(shù)扼引攀接口的方法:data校件與數(shù)扼訪問對象(dao)dao是 database object的英文縮寫,要訪問數(shù)裾庫一方而數(shù)裾庫要提供訪問接口,另一方而要在編程環(huán)境中有 對數(shù)據(jù)庫的支持.dao模型是設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對象類的集合.他們提供了管理關(guān)系型數(shù)據(jù)庫系統(tǒng)所需要 的全部操作屬忡和方法,這其中包括建立數(shù)裾庫,定義表,字

14、段和建立表間關(guān)系,定位和查詢數(shù)裾庫等.關(guān)系數(shù)裾庫介紹'關(guān)系數(shù)據(jù)庫足s前各類數(shù)據(jù)庫屮最重要、最流行的數(shù)據(jù)庫,他應(yīng)川數(shù)7方法來處理數(shù)據(jù)庫數(shù)據(jù),足 0前使川最廣泛的數(shù)據(jù)庫系統(tǒng)。20世紀(jì)70年代以后開發(fā)的數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品兒乎都是基于關(guān)系的。 在數(shù)據(jù)庫發(fā)展的歷史上,最重要的成就就是關(guān)系校型。關(guān)系數(shù)裾庫系統(tǒng)與非關(guān)系數(shù)裾庫系統(tǒng)的區(qū)別是:關(guān)系系統(tǒng)只有“表“這一種數(shù)裾結(jié)構(gòu);而非關(guān)系數(shù) 據(jù)庫系統(tǒng)還有其他數(shù)據(jù)結(jié)構(gòu),對這些數(shù)據(jù)結(jié)構(gòu)侖其他的操作。結(jié)構(gòu)化查洵語言sql (structured query language)是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言, 其功能包拈查詢、操縱、定義和控制四個方面,是一個

15、通川的、功能極強的關(guān)系數(shù)據(jù)庫語言。r前己成 為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。microsoft access 介紹:使川microsoft access,可以在單一的數(shù)據(jù)庫文件中管理所有的信息。在這個文件中,用戶可以 將自己的數(shù)裾分別保存在各自獨立的存儲空間中,這些空間稱作表;吋以使用聯(lián)機窗體來查看、添加及 更新表中的數(shù)據(jù);使用查詢來查找并檢索所要的數(shù)據(jù);也可以使用報表以特定的版而介置來分析及打印 數(shù)裾。如果要保存數(shù)裾,請為每一種類型的信息創(chuàng)建一個表。如果要從查洵、臠體或報表中的多個表中將 數(shù)據(jù)合并在一起,就要定義各個表之間的關(guān)系。如果要搜索并檢索符合指定條件的數(shù)裾,乜括來自多個表中的數(shù)裾,就要創(chuàng)建查

16、詢。査詢的同時也 可以更新或刪除多條記錄,并對數(shù)裾執(zhí)行a嵌或自定義的計算。如果要簡單地直接在某個表中查看、輸入及更改數(shù)據(jù),請創(chuàng)建一個臠體。在打開一個窗體吋, microsoft access將從一個或多個喪中檢索數(shù)扼,并使川用戶在“窗體向?qū)А边x擇的版而布局或所創(chuàng) 建的版而布局,將窗體顯示在屏幕上。如果要分析數(shù)裾或?qū)?shù)椐以特定的方式打印出來,請創(chuàng)建一個報表。例如,可以打印一份將數(shù)據(jù)分 組并計算數(shù)據(jù)總和的報表,也可以打印另一份帶柯各種數(shù)據(jù)格式的打印郵件標(biāo)簽的報表。2. 5系統(tǒng)代碼52.5. 1主界面代碼:2.5. 1.1添加管理員菜單private sub addadmin click()adda

17、dminf. showend sub2.5. 1.2添加讀者類別菜單private sub adddzlb_click()adddzlbf. showend sub2.5. 1.3添加讀者信息菜單 private sub adddzxxf_click() adddzxxf. showend sub2. 5. 1.4添加還書信息菜單 private sub addhs_click() hsf. showend sub2.5. 1.5添加借書信息菜單 private sub addjs_click() jsf. showend sub2. 5. 1.6添加圖書類別菜單 private sub ad

18、dlb_click() addtslb. showend sub2.5. 1.7查詢讀者信息菜單private sub cxdzxx clicko cxdzxxf. show end sub2. 5. 1.8查詢借15信息菜單 private sub cxjs clicko cxjsxxf. show end sub2.5. 1.9查詢|5籍信息菜單 private sub cxsj_click() cxsjf.showend sub2. 5. 1.10刪除讀者類別菜單 private sub deldzlb_click() dzlbxxf. showend sub2. 5. 1.11刪除讀者

19、信息菜單 private sub deldzxx_click() dzxxglf. showend sub2. 5. 1.12刪除書籍類別菜單 private sub dellb_click() sjlbxxf. showend sub2. 5. 1.13幫助菜單 private sub hlcp_click() frmsplash. show end sub2.5. 1. 14返出系統(tǒng)菜單 private sub unload_click() endend sub2. 5.1. 15修改讀者類別菜單 private sub xgdzlb_click() dz 1 bxxf. showend

20、sub2. 5.1. 16修改讀者信息菜單 private sub xgdzxx_click() dzxxglf. showend sub2.5. 1. 17修改書籍類別菜單 private sub xglb_click() sjlbxxf. show end sub2.5. 1. 18修改用廣密碼菜單 private sub xgmmclick() xgmmf. showend sub2.5. 1. 19修改書籍信息菜單private sub xgts clickosjxxf.showend sub2.5. 1.20新增圖書信息菜單private sub xzts clickoaddtsf.

21、 showend sub2. 5. 2添加圖書類別添加圖書類別代碼:private sub command1 click()dim sql as stringdim rs_add as new adodb. recordsetsql = "select * from sjlb where 類別名稱= & text 1. text &rs add. open sql, sjk, adopenkeyset, adkockpessimistictf trim (text 1. text) = thenmsgbox 網(wǎng)書類別不能為空,vbokonly + vbexclamat

22、ion, 注意 text 1.seteocus exit sub end tfif trim(text2. text) = thenmsgbox 網(wǎng) i1;編號不能為空,vbokonly + vbexclamation, 注意 text2. setfocus exit subend tfif rs_add. eof = true then rs_add. addnewrs_add. fields(0) = trim(text2. text) rs_add. fields (1) = trim (text i. text) rs_add. updatemsgbox 成功地添加 & tex

23、t 1. text &,z這一圖書類別,vbokonly, 恭喜" rs_add. closeelsemsgbox "& textl. text & 這一圖書類別已存在",vbokonly + vbexclamation, 圖書 類別不能重復(fù)"rs_add. close end iftext 1. setfocus text 1. text = /,z text2. text =end subprivate sub command2 clicko unload me end sub2. 5. 3修改圖書類別:修改閣書類別代碼:op

24、tion explicitdim myjl as new adodb. recordset private sub form_load()dim sql as stringon error goto loaderrorsql = select * from sjlb myjl cursorlocation = aduscclicntmyjl. open sql, sjk, adopcnkeyset, adlockpessimisticcmdcancel. enabled = falsecmdupdate. enabled = falsedg.allowaddnew = falsedg. all

25、owdelete = falsedg.a1lowupdate 二 falseset dg. datasource = myjlexit subloaderror:msgbox err. descriptionend subprivate sub cmdadd一click。dg.allowaddnew = truedg. a1lowupdate 二 truecmdadcl enabled = falsecmdupdate. enabled = trueend subprivate sub cmdadd mousemove(button as integer, shift as integer,

26、x as single, y as single) cmdadd. caption = 點擊此處也n以添加cmdadd. width = 3000end subprivate sub cmdcancel_c1ick()myjk cancel updatedg.refreshdg. allowaddnew = falsedg. a1lowupdate = falsecmdxg. enabled = truecmddel. enabled = truecmdcancel. enabled = falsecmdupdate. enabled = falseend subprivate sub cmd

27、del_click()dim sri as stringon error goto del errorsri = msgbox (確定要刪除嗎? ,vbyesno)if sri = vbyes thendg.allowdelete = truemyjl.deletemyjl.updatedg. refreshelseexit subend ifdel error:msgbox err. descriptionend subprivate sub cmdupdate click()if not isnull(dg. bookmark) thenmyjl updatecmddel. enabled

28、 = truecmdxg. enabled = truecmdcancel. enabled = falsecmdupdate. enabled = falsedg.allowupdate = falsemsgbox 修改成功,vbokonly + vbexclamation,"恭喜成功" end ifcmdadd. width = 1550cmdadd. caption ="高級"cmdadd. enabled = trueend subprivate sub cmdxg_click()dim sri as stringon error goto xg

29、cmddel. enabled 二 falsecmdxg. enabled = falsecmdupdate. enabled = truecmdcancel. enabled = truedg.a1lowupdate = truexg:if err. number <> 0 thenmsgbox err. descriptionend ifend subprivate sub i?ormjjnload (cancel as integer)set dg. datasource = nothingmyjl. closeend sub2. 5. 4添加讀者類別界面:private s

30、ub commandl_click()dim sri as stringdim mybook as new adodb. recordsettf trim(text 1. text) = thenmsgbox 讀者類別名稱不能為空,vbokonly + vbexclamation, 注意 text 1. seteocus exit sub end ifif trim(text2. text) = thenmsgbox 借書數(shù)量不能為空,vbokonly + vbexclamation, 注意 text2. setfocus exit sub end tfif trim(text3. text)

31、 = thenmsgbox 借書期限不能為空,vbokonly + vbexclamation, 注意 text3. setfocus exit sub end ifif trim(toxt4. text) = thenmsgbox 有效期限不能力空,vbokonly + vbexclamation, 注意"text4.seteocusexit subend ifon error goto cwsri = "select * from dzlb where 讀者類別名稱=& textl. text &mybook. open sri, sjk, adopen

32、keyset, adkockpessimisticif mybook. eof thenmybook. addnewmybook. fields(0) = trim(textl. text)mybook. fields(1) = trim(text2. text)mybook. fields (2) = trim(text3. text)mybook. fields(3) = trim(text4. text)mybook. updatemsgbox您己經(jīng)成功添加 & textl. text & "這一讀者類別,vbokonly + vbexclamation,&qu

33、ot;添加成功!mybook. closeelsemsgbox "讀者類別名稱為 & textl. text &重復(fù)",vbokonly + vbexclamation,"注意重復(fù)"textl.setfocus textl.text = ”mybook. close exit sub end if cw:msgbox err. descriptionend subprivate sub command2_click()unload meend subprivate sub formload()dim sql as string 定義一個字

34、符串變dim myjl as new adodb. recordset 定義一個 recordset 對象變量 end sub2. 5. 5査詢讀者信息代碼:private sub form_load()dim sql as string 定義一個字符串變景dim myjl as new adodb. recordset 定義一個 recordset 對象變量 sql = "select * from dzlb"myjl. open sql, sjk, adopenkcyset, adlockpessiinisticdo while not myjl. eofcombo1.

35、 addttem myjl fields(0)myjl. movenext loopcombol. listlndex = 0myjl.closeend subprivate sub commandi_click()dim sri as string 定義一個字符串變景dim mybook as new adodb. recordset 定義個 recordset 對象變景if checkl. value = vbchecked thensri ="讀者編號="& trim(textl.text &end ifif check2.value = vbchec

36、ked then if trim(sri) = " thensri = 讀者姓名= & trini(text2. text &)&"elsesri = sri & "and 讀者編號="& trim(text2. text"end tfend iftf check3.value = vbchecked then tf trim (sri) = thensri ="讀者類別= & trim (combo 1. text & ,/z,) &elsesri = sri &

37、; "and 讀者類別= & trim (combo 1. text &,/z) &end tfend iftf sri = thenmsgbox 請選擇一種查詢依掘,vbokonly + vbexclamation, 查詢方式 exit sub end ifsri = "select * from dzxx where & srimybook.cursorlocation = aduseclientmybook.open sr 1, sjk, adopcnkeyset, adlockpessimisticdg. allowaddnew =

38、falsedg. a1lowdelete = falsedg. allowupdate = falseset dg. datasource = mybookend subprivate sub command2_click() unload me end sub2. 5.6圖書借閱管理模塊代碼:2. 5. 6. 1查詢書籍窗體代碼private sub form_load()窗體加載時就書籍類別加載到列表框中。 dim sql as string 定義一個字符羋變量dim myjl as new adodb. recordset 定義一個 recordset 對象變量 sql = "

39、select * from sjlb"myjl. open sql, sjk, adopenkcyset, adlockpessiinisticdo while not myjl. eofcombo1. addttem myjl fields(1)myjl. movenext loopcombo1. listtndex = 0myjl.closeend subprivate sub commandl_click() 査詢命令按鈕代碼dim sri as string 定義一個字符串變mdim mybook as new adodb. recordset 定義個 recordset 對

40、象變景if checkl. value = vbchecked thensri ="書籍名稱="& trim(textl.text & "0 &end iftf check2.value = vbchecked then if trim(sri) = thensri ="圖書編號="& trim(text2.text & ")& ""elsesri = sri & "and 圖書;編號= & trim(text2. text & &q

41、uot;)& end ifend iftf check3.value = vbchecked then tf trim (sri) = thensri = 作者= & trim(text3.text & ")& "'"elsesri = sri & and 作者= & trim(text3. text &")&"" end tfend tfi f check4. value = vbchecked then tf trim(sri) = thensri =&quo

42、t;出版社= & trim(text4.text & )& ""elsesri = sri & and 出版社= & trim(text4. text &end tfend tff check5. value = vbchecked then tf trim(sri) = thensri ="類別=,& trim(combol.text & 0 & elsesri = sri & "and 類別="& trim(combol. text &"

43、;)&""end tfend ifif sri = thenmsgbox 請選擇一種査詢依拋,vbokonly + vbexclamation, 杏詢方式 exit sub end ifsri = "select * from sjxx where & srimybook. cursorlocation = aduseclientmybook. open sri, sjk, adopenkeyset, adkockpessimi sticdg. allowaddnew = falsedg. allowdelete = falsedg. a1lowu

44、pdate = falseset dg. datasource = mybookend sub為了獲取表格某一單元格值,為datagrid控件dg添加如卜*代碼:private sub dg_rowcolchange(lastrow as variant, byval lastcol as integer)on error goto cwpand = dg. columns(7). cel 1 value(dg. bookmark)bookunm = dg. columns (0). cellvalue(dg. bookmark) pand 和 bookunm 是公共梭塊屮定義的一個公共 變量

45、,bookunm用來記錄表格中某一書籍的圖書編號,使于在借書窗體中再次凋用。exit subcw:msgbox err. descriptionend subprivate sub command2_click() unload me end subprivate sub command3_cl ick() 這是“借這本書”命令按鈕,如果條件滿足,就進入借書窗體了。 tf trim (bookunm) = ' thenmsgbox 請選擇要借閱的書籍,vbokonly + vbexclamation, 選擇書籍exit sub end ifif trim (pand)= 是 thenm

46、sgbox 此|5已經(jīng)被借出,請選擇其它書!籍",vbokonly + vbexclamation, 選擇|5籍exit sub end if unload me jsf. show end sub 2. 5. 6. 2借書窗體代碼option explicitdim lb as string 該讀者類別dim qx as string 該讀者可借書的期限dim yjsl as string 該讀者已借書的數(shù)景dim maxm as string該讀者借|5量的限制由在杳詢書籍的窗體滿足了可以借書的條件進入此借書窗體,根裾此書的閣書編號,在木窗體加載時 就加載了書籍的信息和讀者列表。

47、private sub formload()dim mybook as new adodb. recordset dim mydz as new adodb. recordset dim sri as string dim sql as stringsri = select * from sjxx where 圖書編號= & bookunm &mybook. open sri, sjk, adopenkeyset, adlockpessimi sticlabe18. caption = mybook. fields(0)labe19. caption = mybook. fie

48、lds(1)label10. caption = mybook. fields(2)label11. caption = mybook. fields(3)label12. caption = mybook. fields(4)label 13. caption = mybook. fields(5)label14. caption = mybook. fields(6)sql = "select * from dzxx ”mydz. open sql, sjk, adopenkeyset, adlockpessimistic if not mydz. eof thendo whil

49、e not mydz. eof combo1. additcm mydz. fields(0)combo2.additem mydz. fields(1)mydz. movenextloopcombo1. listindex = 0 elsemsgbox 請先登記讀者,vbokonly + vbexclamation, 注意" exit sub end ifmybook. close mydz. closeend sub由于讀者編兮與讀者姓名是一一對應(yīng)的,必須對川來加載這兩個信息的兩個列表框編寫如下代碼: private sub combol_click()combo2. listl

50、ndcx = combo1. li stindex end subprivate sub combo2_click()combol. listtndex = combo2. li stindexend subprivate sub command 1 _c 1 ick()?這是借書的“確定”按鈕dim myjl as new adodb. recordsetdim sql as stringsql = "select * from dzxx where 讀者編號= & combol. text &myjl. open sql, sjk, adopenkeyset, a

51、dlockpessimisticlb = myjl. fields(3)yjsl = myjl. fields(8)myjl. closesql = "select * from dzlb where 讀者類別名稱=/z & lb &myjl. open sql, sjk, adopenkcyset, adlockpessimisticqx = myjl. fields (2)maxm = myjl. fields(1)myjl.closeif yjsl = maxm thenmsgbox "該讀者借書數(shù)額己滿!,vbokonly + vbexclamati

52、on exit sub end if以上條件滿足了,就將新借書信息添加到借閱信息數(shù)據(jù)庫中,代碼如卜 sql = "select * from jyxx"myjl. open sql, sjk, adopenkcyset, adlockpessimisticmyjl.addnewmyjl. fields(1) = combol. textmyjl. fields (2) myjl. fields (3) myjl. fields(4) myjl. fields(5) myjl. fields(6) myjl. updatecombo2. textlabel8> capt

53、ion label9> caption datedateadd ("ww",qx,date)myjl. close同吋,將此書在書籍信息(sjxx)表中的“是否被借出”設(shè)置為“是”。 sql = "select * from sjxx where 圖書編號= & bookunm &myjk open sql, sjk, adopenkeyset,adlockpessimistic myjl. fields (7)="是"myjl. update myjl. close同時將該讀者已借書數(shù)量上加1。sql = "s

54、elect * from dzxx where 讀者編號= & combol. text & myjl. open sql, sjk, adoponkcyset, adlockpessimistic myjl. fields(8) = myjl. fields(8) + 1myjl. updatemyjl. closemsgbox & label9. caption &這木書成功地借給了讀者姓名為"& combo2. text & "的讀者 ",vbokonly + vbexclamation, 借閱成功"

55、unload meend subprivate sub command2_click()unload meend sub2. 5. 6. 3查詢借書窗體代碼private sub commandl_click()dim sql as string 定義一個字符中變fidim myjl as new adodb. recordset 定義一個 recordset 對象變量if optionl. value = true thensql = "select * from sjxx where 是否被借出=是"end ifif 0ption2. value = true then

56、sql = "select * from sjxx where 是否被借出=否" end iftf 0ption3. value = true thensql = "select * from jyxx where 讀者姓名= & dzxm. text & end ifmyj1cursorlocat i on = adusecllentmyjl. open sql, sjk, adopenkeyset, adlockpessimistic dg. allowaddnew = false dg.a1lowdelete = false dg.a1lowupdate 二 falseset dg. datasource = myjl end subprivate sub command2_click() unload meend subprivate sub 0ption3 click() dzxm.visible = true end sub2.5. 6. 4還15窗體代碼private sub form loadodim mybook as new adodb. records

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論