小型圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁(yè)
小型圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁(yè)
小型圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁(yè)
小型圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁(yè)
小型圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論