版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、前言為了提高圖書管理的工作效率,及時(shí)有效地了解各種信息,特開發(fā)此“小型圖書管理系統(tǒng)”。該系統(tǒng)本著簡(jiǎn)單、實(shí)用、方便的宗旨,為管理人員、讀者提供快捷有效的軟件平臺(tái),從而,提高圖書管理工作效率,節(jié)省大量人力和時(shí)間,提高了圖書館的信息化程度。本系統(tǒng)具有易學(xué)、易用的特點(diǎn),用戶可以很快掌握其操作方法,方便、快捷完成各項(xiàng)工作,正確無(wú)誤地進(jìn)行各種信息的處理工作。本系統(tǒng)是由本人在楊成、郗亞輝老師的指導(dǎo)下開發(fā)完成的。為了這次畢業(yè)設(shè)計(jì)本人做了大量的準(zhǔn)備和努力,但由于本人知識(shí)和能力有限,系統(tǒng)難免存在許多不完善的地方甚至漏洞,敬請(qǐng)各位老師不吝提出寶貴建議,本人將不勝感激! 一、系統(tǒng)分析1.1系統(tǒng)功能分析 系統(tǒng)開發(fā)的總體
2、任務(wù)是實(shí)現(xiàn)各種信息的系統(tǒng)化、歸范化。圖書管理是圖書館管理工作的重要組成部分,為了提高圖書管理工作的效率,利用計(jì)算機(jī)和數(shù)據(jù)庫(kù)技術(shù)設(shè)計(jì)開發(fā)了圖書管理系統(tǒng)是圖書管理工作的迫切需要。本系統(tǒng)的主要功能如下:l 有關(guān)讀者基本信息的輸入,包括讀者編號(hào)、讀者類別、讀者姓名、讀者性別、工作單位、家庭住址、電話號(hào)碼、電子郵件、辦證日期、備注等。l 讀者基本信息的查詢、修改,包括讀者編號(hào)、讀者姓名、讀者類別、讀者性別、工作單位、家庭住址、電話號(hào)碼、電子郵件、辦證日期、備注等。l 圖書信息的輸入,包括書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社、出日期、書籍價(jià)格、書籍類別、登記日期、備注信息等。l 圖書信息的查詢、
3、修改,包括書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、書籍價(jià)格、書籍類別、登記日期、備注信息等。l 借書信息的輸入,包括借書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、備注等。l 借書信息的查詢、修改,包括借書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、備注等。l 還書信息的輸入、查詢和修改,包括還書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱等。l 還書信息的查詢和修改,包括還書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱等。二、系統(tǒng)設(shè)計(jì)2.1總體設(shè)計(jì)結(jié)構(gòu)結(jié)構(gòu)設(shè)計(jì)主要包括運(yùn)行模式選擇、操作系統(tǒng)選擇、數(shù)據(jù)庫(kù)管理系統(tǒng)選擇、系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)
4、。選用單機(jī)模式,有一臺(tái)奔騰以上的微型計(jì)算機(jī),操作系統(tǒng)選擇windows 98/2000,開發(fā)工具選擇powerbuilder8.0,數(shù)據(jù)庫(kù)管理系統(tǒng)(dbms)選擇powerbuilder8.0自帶sybase sql anywhere 7.0。2.2詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)主要包括用戶界面設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)。 用戶界面設(shè)計(jì)用戶運(yùn)行該系統(tǒng)時(shí),首先出現(xiàn)一個(gè)登錄窗口,提示輸入用戶名或編號(hào)、密碼,輸入正確進(jìn)入系統(tǒng)主窗口,如圖:(2-1) 圖2-1主窗口的上部是菜單和工具欄,系統(tǒng)中的受所有功能通過選擇菜單項(xiàng)或單擊工具欄中的圖標(biāo)即可。通過選擇各個(gè)菜單項(xiàng)或工具欄圖標(biāo),分別進(jìn)入各個(gè)具體界面,實(shí)現(xiàn)不同的操作功能。 數(shù)據(jù)庫(kù)
5、設(shè)計(jì)l 數(shù)據(jù)庫(kù)需求分析 系統(tǒng)的數(shù)據(jù)流程圖如下:讀者數(shù)據(jù)基本信息錄入讀者信息登記 借閱信息借閱 書籍?dāng)?shù)據(jù)基本信息錄入書籍信息登記 針對(duì)上述圖書管理工作過程的內(nèi)容和數(shù)據(jù)流程圖分析,設(shè)計(jì)如下所述的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。l 讀者信息,包括的數(shù)據(jù)項(xiàng)有:讀者編號(hào)、讀者類別、讀者姓名、讀者性別、工作單位、家庭住址、電話號(hào)碼、電子郵件、辦證日期、備注等。l 圖書信息,包括數(shù)據(jù)項(xiàng)有:書籍編號(hào)、書籍名稱、書籍類別、作者姓名、出版社、出版日期、書籍價(jià)格、書籍類別、登記日期、備注信息等。l 借書信息,包括數(shù)據(jù)項(xiàng)有:借書信息編號(hào)、讀者編號(hào)、讀者姓名、書籍編號(hào)、書籍名稱、借書日期、備注等。l 用戶表信息,包括的數(shù)據(jù)項(xiàng)有:讀者
6、編號(hào)、讀者姓名、權(quán)限。l 圖書類別信息,包括的數(shù)據(jù)項(xiàng)有:類別編號(hào)、圖書類別。l 數(shù)據(jù)庫(kù)概念設(shè)計(jì)根據(jù)上面設(shè)計(jì),規(guī)劃出的實(shí)體有:讀者信息實(shí)體、書籍信息實(shí)體、借閱信息實(shí)體、用戶實(shí)體、讀者信息實(shí)體。e-r圖如圖所示:讀者信息實(shí)體讀者信息登記讀者信息登記讀者姓名讀者編號(hào)讀者地址 。書籍信息實(shí)體書籍名稱書籍編號(hào)出版社。借閱信息實(shí)體書籍名稱借閱編號(hào)借閱日期。讀者信息管理書籍信息管理借閱書籍借閱信息管理m(1) ( e-r圖)l 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)圖書管理系統(tǒng)各個(gè)表設(shè)計(jì)如下:(圖書信息表)(書籍類別表)(借閱信息表)(讀者信息表)(用戶表)(各個(gè)表的主鍵)三、系統(tǒng)實(shí)施在系統(tǒng)中主要實(shí)現(xiàn)對(duì)圖書信息、讀者信息、借閱
7、信息以及用戶表中數(shù)據(jù)的增、刪、改、查詢等功能。.建立應(yīng)用對(duì)象設(shè)置sqlca的屬性以及數(shù)據(jù)庫(kù)的連接參數(shù)應(yīng)用對(duì)象open事件腳本如下:/ profile guoshushengsqlca.dbms = odbcsqlca.autocommit = falsesqlca.dbparm = connectstring=dsn=guoshusheng;uid=dba;pwd=sqlconnect;/錯(cuò)誤處理if sqlca.sqlcode 0 then messagebox (cannot connect to database, sqlca.sqlerrtext) returnend if/打開啟動(dòng)窗
8、口open(w_start)idle(10)在事件中加入如下腳本:disconnect using sqlca;.2登錄界面窗口對(duì)于該信統(tǒng)用戶分為三類:系統(tǒng)管理員、數(shù)據(jù)管理員、普通用戶。登錄窗口w_login的主要是驗(yàn)證用身份并確定權(quán)限,如圖所示:其登錄按鈕代碼如下:if sle_1.text = then/pop a message boxmessagebox(payattention!,the user name cant be null)/sle_1 get the focussle_1.setfocus()elseif sle_2.text = then/pop a message b
9、oxmessagebox(payattention!,the password cant be null)/sle_2 get the focussle_2.setfocus()elseg_input_time =g_input_time+1g_user = sle_1.textg_pwd =sle_2.text/取出數(shù)據(jù)庫(kù)用戶口令表格中對(duì)應(yīng)用戶的口令select user_pwd ,purview into :correct_pswd,:g_right from user_info where user_id=:g_user or username=:g_user;/將數(shù)據(jù)庫(kù)中保存的口令和用
10、戶輸入的口令作比較if g_pwd=correct_pswd then/輸入正確,打開主窗口open(w_main)close(w_login)else/不正確,在3次以內(nèi)可重新輸入,超過3次結(jié)束程序if g_input_time 3 thenmessagebox(警告,輸入用戶口令的次數(shù)太多!)close(w_login)elsemessagebox(警告,輸入的用戶口令有誤,請(qǐng)重新輸入)end ifend ifend ifclose(w_start) (w_login)3.3啟動(dòng)界面設(shè)計(jì)open事件代碼如下:prog+hpb_1.position=progst_2.text=string(
11、prog)+%if prog=100 thentimer(0)w_start.visible=falseopen(w_login)end ifw_start.屏幕保護(hù)界面 (w_screen)3.4 菜單設(shè)計(jì)菜單項(xiàng)代碼如下:opensheet (w_login_re,w_main,6,layered!)opensheet (w_change_password,w_main,6,layered!)opensheet (w_user,w_main,6,layered!)close(w_main) opensheet (w_readers,w_main,6,layered!)opensheet (w
12、_readers_grid,w_main,6,layered!)opensheet (w_readers_find,w_main,6,layered!)opensheet (w_books,w_main,6,layered!)opensheet (w_books_grid,w_main,6,layered!)opensheet (w_books_find,w_main,6,layered!)opensheet (w_borrow,w_main,6,layered!) opensheet (w_return,w_main,6,layered!)opensheet (w_borrow_find,w
13、_main,6,layered!)opensheet (w_store,w_main,6,layered!)opensheet (w_kucun,w_main,6,layered!)w_main.arrangesheets(cascade!)w_main.arrangesheets(layer!)close(w_about)close(w_books)close(w_books_find)close(w_books_grid)close(w_borrow)close(w_borrow_find)close(w_change_password)close(w_kucun)close(w_logi
14、n)close(w_login_re)close(w_readers)close(w_readers_find)close(w_readers_grid)close(w_return)close(w_user)opensheet (w_about,w_main,6,original!)重新登錄界面如下:確定按鈕代碼如下:string correct_pswdif sle_1.text = then/pop a message boxmessagebox(payattention!,the user name cant be null)/sle_1 get the focussle_1.setf
15、ocus()elseif sle_2.text = then/pop a message boxmessagebox(payattention!,the password cant be null)/sle_2 get the focussle_2.setfocus()elseg_input_time =g_input_time+1g_user = sle_1.textg_pwd =sle_2.text/取出數(shù)據(jù)庫(kù)用戶口令表格中對(duì)應(yīng)用戶的口令select user_pwd ,purview into :correct_pswd,:g_right from user_info where use
16、r_id=:g_user or username=:g_user;/將數(shù)據(jù)庫(kù)中保存的口令和用戶輸入的口令作比較if g_pwd=correct_pswd then/輸入正確,打開主窗口open(w_main)/setredraw(false) close(w_login_re)else/不正確,在3次以內(nèi)可重新輸入,超過3次結(jié)束程序if g_input_time 3 thenmessagebox(警告,輸入用戶口令的次數(shù)太多!)close(w_login_re)elsemessagebox(警告,輸入的用戶口令有誤,請(qǐng)重新輸入)end ifend ifend ifif g_right1 the
17、n m_main.m_1.m_13.enabled=falseend if修改用戶信息界面如下:確定按鈕代碼如下:/輸入次數(shù)加1g_input_time =g_input_time+1/判斷兩次輸入的新口令是否一致if sle_2.text sle_3.text thenif g_input_time 3 thenmessagebox(警告,輸入的次數(shù)太多!)close(w_change_password)elsemessagebox(警告,兩次輸入的口令不一致,請(qǐng)重新輸入)end ifelse/判斷輸入的原口令是否正確if sle_1.text g_pwd thenif g_input_ti
18、me 3 thenmessagebox(警告,輸入的次數(shù)太多!)close(w_change_password)elsemessagebox(警告,輸入的原口令不正確,請(qǐng)重新輸入)end ifelse/修改數(shù)據(jù)庫(kù)中的該用戶的口令update user_infoset user_pwd=:sle_2.text where user_id=:g_user or username=:g_user;messagebox(注意,你的口令已經(jīng)修改,請(qǐng)牢記)/提交修改,關(guān)閉口令修改窗口 commit;close(w_change_password)end ifend ifopen事件代碼如下:/將全局變量-
19、輸入用戶名和口令的次數(shù)賦初值0g_input_time=0/定義變量environment l_envint l_scrwidth,l_scrheight/關(guān)閉窗口刷新setredraw(false)/取得屏幕的高度和寬度getenvironment(l_env)l_scrwidth=pixelstounits(l_env.screenwidth,xpixelstounits!)l_scrheight=pixelstounits(l_env.screenheight,ypixelstounits!)/移動(dòng)窗口到屏幕中間move(l_scrwidth - this.width)/2,(l_scr
20、height - this.height)/2)/打開窗口刷新setredraw(true)用戶管理界面如下:添加按鈕代碼如下:/insert a row in the end of dw_1g_rownumber=dw_1.insertrow(0)/dw_1 get the focusdw_1.setfocus()/到當(dāng)前行dw_1.scrolltorow(g_rownumber) /the first column get the focusdw_1.setcolumn(1)刪除按鈕代碼如下:/得到當(dāng)前記錄 g_rownumber=dw_1.getrow()/將當(dāng)前記錄中的員工號(hào)取出賦值給
21、全局變量emp_nodeleterow(dw_1,g_rownumber)int a a=messagebox(提示,確實(shí)要?jiǎng)h除嗎?,question!, yesnocancel!, 3)if a=1 then cb_3.triggerevent( clicked!)else dw_1.retrieve()end if保存按鈕代碼如下:if update(dw_1,true,false)=1 then/保存修改成功,提交修改dw_1.resetupdate()commit;messagebox(提示!,數(shù)據(jù)更新成功!)else/保存修改失敗,取消所作的修改rollback;/彈出一個(gè)對(duì)話框警告
22、messagebox(錯(cuò)誤!,數(shù)據(jù)更新失敗!)end ifcolsequery事件如下:integer li_rc/ accept the last data entered into the datawindowdw_1.accepttext()/check to see if any data has changed if dw_1.modifiedcount() 0 thenli_rc = messagebox(提示, &是否保存所做的修改?, question!, &yesnocancel!, 3)/user chose to updata and close windowif li_
23、rc = 1 then cb_3.triggerevent( clicked!)return 0/user chose to close window without updatingelseif li_rc = 2 thenreturn 0/user canceledelsereturn 1 end ifelse/ no changes to the data, window will just closereturn 0 end if添加讀者信息界面如下:前一條:/定義參數(shù)當(dāng)前行行數(shù)integer row_current /數(shù)據(jù)窗口向前滾動(dòng)一條記錄row_current=dw_1.scro
24、llpriorrow()/如果已經(jīng)到達(dá)第一條記錄,則彈出一個(gè)對(duì)話框警告if row_current=1 thenmessagebox(警告,已經(jīng)是最前一條記錄)end if后一條:/定義參數(shù) 表的總行數(shù)integer row_count /定義參數(shù) 當(dāng)前行integer row_current /數(shù)據(jù)窗口向后滾動(dòng)一條紀(jì)錄row_current=dw_1.scrollnextrow()/得到表的總行數(shù)row_count=dw_1.rowcount()/判斷是否是最后一條記錄if row_current= row_count thenmessagebox(警告,已經(jīng)是最后一條記錄)end if保存
25、:/if update(dw_1,true,false)=1 then/保存修改成功,提交修改/dw_1.resetupdate()/commit;/messagebox(提示!,數(shù)據(jù)更新成功!)/else/保存修改失敗,取消所作的修改/rollback;/彈出一個(gè)對(duì)話框警告/messagebox(錯(cuò)誤!,數(shù)據(jù)更新失敗!)/end ifif update(dw_1,true,false)=1 then/保存修改成功,提交修改dw_1.resetupdate()commit;messagebox(提示!,數(shù)據(jù)更新成功!)end if if update(dw_1,true,false)=2 th
26、en/保存修改失敗,取消所作的修改rollback;/彈出一個(gè)對(duì)話框警告messagebox(錯(cuò)誤!,數(shù)據(jù)更新失敗!)end if添加:/insert a row in the end of dw_1g_rownumber=dw_1.insertrow(0)/dw_1 get the focusdw_1.setfocus()/到當(dāng)前行dw_1.scrolltorow(g_rownumber) /the first column get the focusdw_1.setcolumn(1)刪除:/得到當(dāng)前記錄 g_rownumber=dw_1.getrow()/將當(dāng)前記錄中的員工號(hào)取出賦值給全局
27、變量emp_nodeleterow(dw_1,g_rownumber)int a a=messagebox(提示,確實(shí)要?jiǎng)h除嗎?,question!, yesnocancel!, 3)if a=1 then cb_3.triggerevent( clicked!)else dw_1.retrieve()end ifclosequery事件:integer li_rc/ accept the last data entered into the datawindowdw_1.accepttext()/check to see if any data has changed if dw_1.mod
28、ifiedcount() 0 thenli_rc = messagebox(提示, &是否保存所做的修改?, question!, &yesnocancel!, 3)/user chose to updata and close windowif li_rc = 1 then cb_3.triggerevent( clicked!)return 0/user chose to close window without updatingelseif li_rc = 2 thenreturn 0/user canceledelsereturn 1 end ifelse/ no changes to
29、 the data, window will just closereturn 0 end if退出:integer li_rc/ accept the last data entered into the datawindowdw_1.accepttext()/check to see if any data has changed if dw_1.modifiedcount() 0 thenli_rc = messagebox(提示, &是否保存所做的修改?, question!, &yesnocancel!, 3)/user chose to updata and close windo
30、wif li_rc = 1 then cb_3.triggerevent( clicked!)return 0/user chose to close window without updatingelseif li_rc = 2 thenreturn 0/user canceledelsereturn 1 end ifelse/ no changes to the data, window will just closereturn 0 end if修改讀者信息界面如下:添加:/insert a row in the end of dw_1g_rownumber=dw_1.insertrow
31、(0)/dw_1 get the focusdw_1.setfocus()/到當(dāng)前行dw_1.scrolltorow(g_rownumber) /the first column get the focusdw_1.setcolumn(1)刪除:/得到當(dāng)前記錄 g_rownumber=dw_1.getrow()/將當(dāng)前記錄中的員工號(hào)取出賦值給全局變量emp_nodeleterow(dw_1,g_rownumber)int a a=messagebox(提示,確實(shí)要?jiǎng)h除嗎?,question!, yesnocancel!, 3)if a=1 then cb_3.triggerevent( cli
32、cked!)else dw_1.retrieve()end if保存:if update(dw_1,true,false)=1 then/保存修改成功,提交修改dw_1.resetupdate()commit;messagebox(提示!,數(shù)據(jù)更新成功!)else/保存修改失敗,取消所作的修改rollback;/彈出一個(gè)對(duì)話框警告messagebox(錯(cuò)誤!,數(shù)據(jù)更新失敗!)end ifclosequery事件如前。退出:close(parent)修改讀者信息界面:添加:/insert a row in the end of dw_1g_rownumber=dw_1.insertrow(0)/
33、dw_1 get the focusdw_1.setfocus()/到當(dāng)前行dw_1.scrolltorow(g_rownumber) /the first column get the focusdw_1.setcolumn(1)刪除:/得到當(dāng)前記錄 g_rownumber=dw_1.getrow()/將當(dāng)前記錄中的員工號(hào)取出賦值給全局變量emp_nodeleterow(dw_1,g_rownumber)int a a=messagebox(提示,確實(shí)要?jiǎng)h除嗎?,question!, yesnocancel!, 3)if a=1 then cb_3.triggerevent( clicked
34、!)else dw_1.retrieve()end if保存:if update(dw_1,true,false)=1 then/保存修改成功,提交修改dw_1.resetupdate()commit;messagebox(提示!,數(shù)據(jù)更新成功!)else/保存修改失敗,取消所作的修改rollback;/彈出一個(gè)對(duì)話框警告messagebox(錯(cuò)誤!,數(shù)據(jù)更新失敗!)end if退出:close(parent)添加讀者信息界面:前一條:/定義參數(shù)當(dāng)前行行數(shù)integer row_current /數(shù)據(jù)窗口向前滾動(dòng)一條記錄row_current=dw_1.scrollpriorrow()/如果已
35、經(jīng)到達(dá)第一條記錄,則彈出一個(gè)對(duì)話框警告if row_current=1 thenmessagebox(警告,已經(jīng)是最前一條記錄)end if后一條:/定義參數(shù) 表的總行數(shù)integer row_count /定義參數(shù) 當(dāng)前行integer row_current /數(shù)據(jù)窗口向后滾動(dòng)一條紀(jì)錄row_current=dw_1.scrollnextrow()/得到表的總行數(shù)row_count=dw_1.rowcount()/判斷是否是最后一條記錄if row_current= row_count thenmessagebox(警告,已經(jīng)是最后一條記錄)end if保存:if update(dw_1,
36、true,false)=1 then/保存修改成功,提交修改dw_1.resetupdate()commit;messagebox(提示!,數(shù)據(jù)更新成功!)else/保存修改失敗,取消所作的修改rollback;/彈出一個(gè)對(duì)話框警告messagebox(錯(cuò)誤!,數(shù)據(jù)更新失敗!)end if添加:/insert a row in the end of dw_1g_rownumber=dw_1.insertrow(0)/dw_1 get the focusdw_1.setfocus()/到當(dāng)前行dw_1.scrolltorow(g_rownumber) /the first column get
37、the focusdw_1.setcolumn(1)刪除:/得到當(dāng)前記錄 g_rownumber=dw_1.getrow()/將當(dāng)前記錄中的員工號(hào)取出賦值給全局變量emp_nodeleterow(dw_1,g_rownumber)int a a=messagebox(提示,確實(shí)要?jiǎng)h除嗎?,question!, yesnocancel!, 3)if a=1 then cb_3.triggerevent( clicked!)else dw_1.retrieve()end if退出:/定義兩個(gè)變量int mcount /修改后沒有保存的行數(shù)int updateornot /是否修改/得到修改后沒有保
38、存的行數(shù)mcount=w_books.dw_1.modifiedcount()if mcount=0 then/沒有未保存的修改close(w_books)elseif mcount0 then/詢問是否保存所做的修改updateornot=messagebox(保存修改,您修改了數(shù)據(jù)窗口中的數(shù)據(jù),現(xiàn)在是否保存?,question!,yesnocancel!)if updateornot=1 then/保存if update(w_books.dw_1,true,false)=1 then/保存修改成功,提交修改w_books.dw_1.resetupdate()commit;else/保存修改
39、失敗,取消所作的修改rollback;/彈出一個(gè)對(duì)話框警告messagebox(錯(cuò)誤!,數(shù)據(jù)保存失敗)end ifclose(w_books)elseif updateornot=2 then/不保存rollback;close(w_books)end ifendif 修改書籍界面如下:添加:/insert a row in the end of dw_1g_rownumber=dw_1.insertrow(0)/dw_1 get the focusdw_1.setfocus()/到當(dāng)前行dw_1.scrolltorow(g_rownumber) /the first column get t
40、he focusdw_1.setcolumn(1)刪除:/得到當(dāng)前記錄 g_rownumber=dw_1.getrow()/將當(dāng)前記錄中的員工號(hào)取出賦值給全局變量emp_nodeleterow(dw_1,g_rownumber)int a a=messagebox(提示,確實(shí)要?jiǎng)h除嗎?,question!, yesnocancel!, 3)if a=1 then cb_3.triggerevent( clicked!)else dw_1.retrieve()end if保存:if update(dw_1,true,false)=1 then/保存修改成功,提交修改dw_1.resetupdat
41、e()commit;messagebox(提示!,數(shù)據(jù)更新成功!)else/保存修改失敗,取消所作的修改rollback;/彈出一個(gè)對(duì)話框警告messagebox(錯(cuò)誤!,數(shù)據(jù)更新失敗!)end if退出:close(parent)書籍查詢界面如下:查詢:/定義參數(shù):查詢條件綜合結(jié)果string lookforcondition1string lookforcondition/定義參數(shù):要查詢的列string lookforitem1/定義參數(shù):查詢的符號(hào)string lookforhow1/定義參數(shù):要查詢的內(nèi)容string lookforwhat1/定義參數(shù):當(dāng)前的行號(hào)int curren
42、t_row1/定義參數(shù):總的行數(shù)int total_row1/定義參數(shù):滿足條件的行號(hào)int find_row1/date lookforwhat1/查詢符號(hào)的選擇lookforhow1=ddlb_2.text/查詢子段和查詢內(nèi)容的選擇if ddlb_1.text=書號(hào) thenlookforitem1 =bookidlookforwhat1=+trim(sle_1.text)+elseif ddlb_1.text=書名 thenlookforitem1=booknamelookforwhat1=+trim(sle_1.text)+elseif ddlb_1.text=種類 thenlookf
43、oritem1=booktypelookforwhat1=+trim(sle_1.text)+elseif ddlb_1.text=出版社 thenlookforitem1=bookpublookforwhat1=+trim(sle_1.text)+elseif ddlb_1.text=作者 thenlookforitem1=bookauthorlookforwhat1=+trim(sle_1.text)+elseif ddlb_1.text=是否借出 thenlookforitem1=putuplookforwhat1=+trim(sle_1.text)+elseif ddlb_1.text
44、=類型 thenlookforitem1=booktypelookforwhat1=+trim(sle_1.text)+lookforcondition1=lookforitem1+lookforhow1+lookforwhat1elseif ddlb_1.text=登記日期 thenlookforitem1=bookindatelookforwhat1=sle_1.textelseif ddlb_1.text=出版日期 thenlookforitem1=bookpubdatelookforwhat1=sle_1.textelseif ddlb_1.text=價(jià)格 thenlookforite
45、m1=pricelookforwhat1=sle_1.textend iflookforcondition1=lookforitem1+lookforhow1+lookforwhat1/定義參數(shù):查詢條件綜合結(jié)果string lookforcondition2/定義參數(shù):要查詢的列string lookforitem2/定義參數(shù):查詢的符號(hào)string lookforhow2/定義參數(shù):要查詢的內(nèi)容string lookforwhat2string operator1,operator2,operator3/查詢符號(hào)的選擇lookforhow2=ddlb_5.text/查詢子段和查詢內(nèi)容的選擇
46、if ddlb_4.text=書號(hào) thenlookforitem2 =bookidlookforwhat2=+trim(sle_2.text)+elseif ddlb_4.text=書名 thenlookforitem2=booknamelookforwhat2=+trim(sle_2.text)+elseif ddlb_4.text=種類 thenlookforitem2=booktypelookforwhat2=+trim(sle_2.text)+elseif ddlb_4.text=出版社 thenlookforitem2=bookpublookforwhat2=+trim(sle_2
47、.text)+elseif ddlb_4.text=作者 thenlookforitem2=bookauthorlookforwhat2=+trim(sle_2.text)+elseif ddlb_4.text=是否借出 thenlookforitem2=putuplookforwhat2=+trim(sle_2.text)+elseif ddlb_4.text=類型 thenlookforitem2=booktypelookforwhat2=+trim(sle_2.text)+ lookforcondition2=lookforitem2+lookforhow2+lookforwhat2el
48、seif ddlb_4.text=登記日期 thenlookforitem2=bookindatelookforwhat2=sle_2.textelseif ddlb_4.text=出版日期 thenlookforitem2=bookpubdatelookforwhat2=sle_2.textelseif ddlb_4.text=價(jià)格 thenlookforitem2=pricelookforwhat2=sle_2.textend iflookforcondition2=lookforitem2+lookforhow2+lookforwhat2/定義參數(shù):查詢條件綜合結(jié)果string lookforcondition3/定義參數(shù):要查詢的列string lookforitem3/定義參數(shù):查詢的符號(hào)string lookforhow3/定義參數(shù):要查詢的內(nèi)容string lookforwhat3/查詢符號(hào)的選擇lookforhow3=ddlb_8.text/查詢子段和查詢內(nèi)容的選擇if ddlb_7.text=書號(hào) thenlookforitem3 =bookidlookforwhat3=+trim(sle_3.text)+elseif ddlb_7.text=書名 thenlook
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 短期目標(biāo)與長(zhǎng)期戰(zhàn)略的平衡計(jì)劃
- 風(fēng)險(xiǎn)管理體系建設(shè)與實(shí)施培訓(xùn)
- 企業(yè)可持續(xù)發(fā)展中的生產(chǎn)規(guī)劃計(jì)劃
- 跨部門協(xié)作提升倉(cāng)庫(kù)運(yùn)作效率計(jì)劃
- 《俄國(guó)對(duì)人口的抑制》課件
- 《設(shè)計(jì)模式王維雄》課件
- 《認(rèn)識(shí)折線統(tǒng)計(jì)》課件
- 果樹栽培學(xué)完整課件各論蘋果
- 反比例函數(shù)的圖像與性質(zhì) 課件
- 《教師培訓(xùn)講座》課件
- AutodeskCAD軟件轉(zhuǎn)型SaaS標(biāo)桿
- 高爐沖渣水余熱利用項(xiàng)目技術(shù)方案
- 說明書hid500系列變頻調(diào)速器使用說明書s1.1(1)
- 電力設(shè)施維保服務(wù)方案
- 鐵路工程工程量清單計(jì)價(jià)指南(土建部分)
- 朗誦的技巧:內(nèi)三外四(完整版)
- 《中國(guó)古代文學(xué)史——第四編:隋唐五代文學(xué)》PPT課件(完整版)
- 中央企業(yè)開展網(wǎng)絡(luò)安全工作策略和方式
- 《美團(tuán)外賣商家運(yùn)營(yíng)》PPT精選文檔
- 陳聲宗化工設(shè)計(jì)--第六章--2013
- 生物醫(yī)藥產(chǎn)業(yè)園概念規(guī)劃初步方案
評(píng)論
0/150
提交評(píng)論