版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告</b></p><p> 1.需求分析說(shuō)明書(shū)3</p><p> 1.1.數(shù)據(jù)庫(kù)分析3</p><p> 1.2. 系統(tǒng)功能分析3</p><p> 2.E-R模型設(shè)計(jì)3</p><p> 3.數(shù)據(jù)庫(kù)設(shè)計(jì)4</p&
2、gt;<p> 4.系統(tǒng)功能實(shí)現(xiàn)5</p><p> 4.1.連接數(shù)據(jù)庫(kù)5</p><p> 4.2.用戶登錄界面6</p><p> 4.3.系統(tǒng)主界面9</p><p> 4.4.借還圖書(shū)9</p><p> 4.4.1. 借閱圖書(shū)10</p><p>
3、; 4.4.2.當(dāng)前借閱12</p><p> 4.4.3.歸還處理13</p><p> 4.5.書(shū)庫(kù)操作15</p><p> 4.5.1.書(shū)庫(kù)管理15</p><p> 4.5.2.書(shū)庫(kù)列表16</p><p> 4.5.3.查找圖書(shū)17</p><p> 4.6
4、. 讀者操作18</p><p> 4.6.1.讀者管理18</p><p> 4.6.2.讀者列表19</p><p> 4.6.3.讀者查詢20</p><p> 4.7. 用戶管理21</p><p> 4.7.1.系統(tǒng)用戶管理21</p><p> 4.7.2.系
5、統(tǒng)設(shè)置23</p><p> 課程設(shè)計(jì)題目:圖書(shū)館管理系統(tǒng)</p><p><b> 需求分析說(shuō)明書(shū)</b></p><p><b> 數(shù)據(jù)庫(kù)分析</b></p><p> 通過(guò)對(duì)圖書(shū)館管理系統(tǒng)功能的分析和實(shí)際調(diào)查情況,所設(shè)計(jì)的圖書(shū)館管理系統(tǒng)包括以下數(shù)據(jù)庫(kù)信息: </p>&
6、lt;p> (1)管理員基本信息:管理員ID、密碼。</p><p> ?。?)圖書(shū)信息:包括圖書(shū)ID、圖書(shū)名稱、作者、單價(jià)、借書(shū)人、以及借出標(biāo)記。</p><p> ?。?)借書(shū)信息:借書(shū)人、所借的的書(shū)名。</p><p> ?。?)讀者信息:包括讀者編號(hào)、讀者姓名、班級(jí)、以及所借書(shū)籍。</p><p> ?。?)系統(tǒng)設(shè)置:?jiǎn)?dòng)動(dòng)畫(huà)
7、、背景圖片、開(kāi)機(jī)登錄窗口初始。</p><p> 1.2. 系統(tǒng)功能分析</p><p> 本系統(tǒng)功能模塊取決于登陸者的身份,若以管理員身份登錄,擁有以下功能:</p><p> 書(shū)庫(kù)管理:包括新書(shū)登記、圖書(shū)信息查詢、修改圖書(shū)信息等功能。</p><p> 讀者管理:其提供辦理借閱證、借閱證信息查詢、修改借閱證等功能。</p&g
8、t;<p> 系統(tǒng)管理:包括添加賬號(hào)、修改密碼和退出系統(tǒng)等功能。 </p><p> 若以讀者身份登錄本系統(tǒng),擁有以下功能:</p><p> 借書(shū)功能:查詢想要借的書(shū)本,然后即可借閱。</p><p> 借閱查詢:查詢已借書(shū)本。</p><p> 還書(shū)功能:歸還所借書(shū)籍。</p><p>&l
9、t;b> E-R模型設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> 基本表的設(shè)計(jì)如下:</b></p><p><b> 管理員基本信息表</b></p><p> 管理員基本信息表(users)包含了圖書(shū)館管理
10、員的基本信息,其結(jié)構(gòu)如表1所示。</p><p> 表1 管理員基本信息表</p><p><b> 圖書(shū)信息表</b></p><p> 圖書(shū)信息表(Book)包含了圖書(shū)館所有圖書(shū)的基本信息,用來(lái)方便讀者查詢和借閱,其結(jié)構(gòu)如表2所示。</p><p><b> 表2:圖書(shū)信息表</b>&
11、lt;/p><p><b> 讀者信息表</b></p><p> 讀者信息表(readname)包含了所有讀者的借閱卡信息,用來(lái)方便讀者借閱和管理員,其結(jié)構(gòu)如表3所示。</p><p><b> 表3:讀者信息表</b></p><p><b> 借書(shū)信息表</b><
12、;/p><p> 借書(shū)信息表(namebook)包含了每個(gè)讀者所借書(shū)籍信息(最多五本),其結(jié)構(gòu)如表4所示。</p><p><b> 表4:借書(shū)信息表</b></p><p><b> (5) 系統(tǒng)初始表</b></p><p> 系統(tǒng)初始表(sz)包含了啟動(dòng)程序的初始設(shè)置值,其結(jié)構(gòu)表如表5所示
13、。</p><p><b> 表5 罰單信息表</b></p><p><b> 系統(tǒng)功能實(shí)現(xiàn)</b></p><p><b> 4.1.連接數(shù)據(jù)庫(kù)</b></p><p> 該系統(tǒng)是通過(guò)PowerBuilder和SQL server2000共同制作完成的。由SQLse
14、rver設(shè)計(jì)完數(shù)據(jù)庫(kù)book后,將book添加到ODBC數(shù)據(jù)源中。在PowerBuilder中database中的ODBC中新建book_profile,連接數(shù)據(jù)源book,即完成了PowerBuilder和數(shù)據(jù)庫(kù)的連接。并通過(guò)以下代碼實(shí)現(xiàn)數(shù)據(jù)源的連接:</p><p> SQLCA.DBMS = "ODBC"</p><p> SQLCA.AutoCommit =
15、 False</p><p> SQLCA.DBParm = "ConnectString='DSN=book;UID=zhuzi;PWD=123'"</p><p> connect using sqlca;</p><p> if sqlca.sqlcode<>0 then</p><p&
16、gt; messagebox("錯(cuò)誤","數(shù)據(jù)庫(kù)連接錯(cuò)誤,請(qǐng)檢查后重試!",stopsign!)</p><p><b> return</b></p><p><b> end if</b></p><p> open(w_splash)</p><p&
17、gt; 4.2.用戶登錄界面</p><p> 本系統(tǒng)包括兩個(gè)登陸界面:管理員登陸界面和讀者登陸界面。</p><p> 管理員登陸后可以實(shí)現(xiàn)書(shū)庫(kù)管理,讀者管理,與系統(tǒng)管理,界面如下:</p><p><b> 完成代碼如下: </b></p><p> string id,getname,ff</p&g
18、t;<p> time d_date </p><p> d_date=now()</p><p> ff=string(d_date)</p><p> id=trim(sle_no.text)</p><p> getname=trim(sle_name.text)</p><p> if
19、 id="" or id='' then</p><p> MessageBox("系統(tǒng)提示","請(qǐng)輸入讀者證號(hào)!")</p><p><b> return</b></p><p><b> end if</b></p>&
20、lt;p><b> //密碼不能為空</b></p><p> if getname="" or getname='' then</p><p> MessageBox("系統(tǒng)提示","請(qǐng)輸入姓名!")</p><p><b> return&l
21、t;/b></p><p><b> end if</b></p><p><b> //讀者登陸</b></p><p> select name_no,name_name</p><p> into :ls_no,:ls_name</p><p> fro
22、m readname</p><p> where name_no=:id;</p><p> if sqlca.sqlcode<>0 then </p><p> messagebox("系統(tǒng)提示","無(wú)此讀者!")</p><p> sle_no.text=""
23、;</p><p> sle_name.text=""</p><p> sle_no.setfocus()</p><p><b> return</b></p><p><b> end if</b></p><p> if getname&
24、lt;>trim(ls_name) then</p><p> messagebox("警告","姓名錯(cuò)誤!")</p><p> sle_name.text=""</p><p> sle_name.setfocus()</p><p><b> retur
25、n</b></p><p><b> end if</b></p><p> messagebox('Welcome!','歡迎你的到來(lái),'+ls_name+'!'+'現(xiàn)在是:'+ff) </p><p> m_main.m_1.m_2.enabled=true&
26、lt;/p><p> m_main.m_1.m_還書(shū)處理.enabled=true</p><p> m_main.m_1.m_當(dāng)前借閱.enabled=true</p><p> m_main.m_書(shū)庫(kù)操作.m_書(shū)庫(kù)管理.enabled=false</p><p> m_main.m_讀者操作.m_讀者管理.enabled=false&
27、lt;/p><p> m_main.m_用戶管理.m_系統(tǒng)用戶管理.enabled=false</p><p> w_main.title='圖書(shū)館管理系統(tǒng)---當(dāng)前讀者: '+ls_name</p><p> name=ls_name</p><p> close(w_ptlogin)</p><p&
28、gt; 讀者登陸界面:讀者登錄后可以實(shí)現(xiàn)借閱圖書(shū),借書(shū)查詢,還書(shū)功能。</p><p> string id,getpassword</p><p> id=trim(sle_name.text)</p><p> getpassword=trim(sle_pw.text)</p><p> if id="" o
29、r id='' then</p><p> MessageBox("系統(tǒng)提示","請(qǐng)輸入用戶名!")</p><p><b> return</b></p><p><b> end if</b></p><p><b> /
30、/密碼不能為空</b></p><p> if getpassword="" or getpassword='' then</p><p> MessageBox("系統(tǒng)提示","請(qǐng)輸入密碼!")</p><p><b> return</b><
31、/p><p><b> end if</b></p><p><b> //管理員登陸</b></p><p> select name_name,name_pass</p><p> into :ls_name,:ls_pass</p><p> from users
32、</p><p> where name_name=:id;</p><p> if sqlca.sqlcode<>0 then </p><p> messagebox("系統(tǒng)提示","無(wú)此管理員!")</p><p> sle_pw.text=""</p
33、><p> sle_name.text=""</p><p> sle_name.setfocus()</p><p><b> return</b></p><p><b> end if</b></p><p> if getpassword&l
34、t;>trim(ls_pass) then</p><p> messagebox("警告","口令錯(cuò)誤!")</p><p> sle_pw.text=""</p><p> sle_pw.setfocus()</p><p><b> return<
35、/b></p><p><b> end if</b></p><p> //進(jìn)入管理員管理界面</p><p> messagebox('系統(tǒng)登入成功','歡迎你的到來(lái),'+ls_name+'!') </p><p> m_main.m_1.m_2.enab
36、led=false</p><p> m_main.m_1.m_當(dāng)前借閱.enabled=false</p><p> m_main.m_1.m_還書(shū)處理.enabled=false</p><p> m_main.m_書(shū)庫(kù)操作.m_書(shū)庫(kù)管理.enabled=true</p><p> m_main.m_讀者操作.m_讀者管理.ena
37、bled=true</p><p> m_main.m_用戶管理.m_系統(tǒng)用戶管理.enabled=true</p><p> w_main.title='圖書(shū)館管理系統(tǒng)---當(dāng)前管理員: '+ls_name</p><p> close(w_gjlogin)</p><p><b> 4.3.系統(tǒng)主界面&l
38、t;/b></p><p> 系統(tǒng)主界面包括如下功能:</p><p> 系統(tǒng)處理:系統(tǒng)初始化,讀者登錄,管理員登陸,退出。</p><p> 借還圖書(shū):借閱圖書(shū),當(dāng)前借閱,還書(shū)處理。</p><p> 書(shū)庫(kù)操作:書(shū)庫(kù)管理,書(shū)庫(kù)列表,查找圖書(shū)。</p><p> 讀者操作:讀者管理,讀者列表,讀者查詢。
39、</p><p> 用戶管理:系統(tǒng)用戶管理,系統(tǒng)設(shè)置。</p><p> 幫助:關(guān)于,幫助文件。</p><p> 系統(tǒng)初始化后,相當(dāng)于當(dāng)前登錄到系統(tǒng)中的用戶既不是管理員也不是讀者,</p><p> 所以只能實(shí)現(xiàn)查看圖書(shū)以及查詢讀者的功能。初始化通過(guò)以下代碼實(shí)現(xiàn):</p><p> m_main.m_書(shū)庫(kù)操
40、作.m_書(shū)庫(kù)管理.enabled=false</p><p> m_main.m_讀者操作.m_讀者管理.enabled=false</p><p> m_main.m_用戶管理.m_系統(tǒng)用戶管理.enabled=false</p><p> m_main.m_1.m_2.enabled=false</p><p> m_main.m
41、_1.m_當(dāng)前借閱.enabled=false</p><p> m_main.m_1.m_還書(shū)處理.enabled=false</p><p> w_main.title='圖書(shū)館管理系統(tǒng)'</p><p><b> name='0'</b></p><p> messagebo
42、x('提示','系統(tǒng)初始化成功!')。其它功能以下詳細(xì)介紹。</p><p><b> 4.4.借還圖書(shū)</b></p><p> 借還圖書(shū)包括借閱圖書(shū),當(dāng)前借閱,歸還處理三個(gè)模塊。</p><p> 4.4.1. 借閱圖書(shū)</p><p> 上圖為借閱圖書(shū)截圖,該模塊可以實(shí)現(xiàn)以下
43、功能:首先在輸入欄中輸入想要借的書(shū)籍,點(diǎn)擊查詢即可獲得,然后點(diǎn)擊“借出”即可借閱。一個(gè)讀者最多可借五本書(shū)。</p><p> 其中,查詢書(shū)籍的代碼是通過(guò)書(shū)名查詢的,實(shí)現(xiàn)代碼如下:</p><p> string lookforcondition</p><p> lookforcondition='book_name'+'='+
44、"'"+sle_1.text+"'"</p><p> dw_1.setfilter(lookforcondition)</p><p> filter(dw_1)</p><p> if dw_1.retrieve()=0 then messagebox('提示','圖書(shū)館沒(méi)有此
45、書(shū)!')。</p><p> 借書(shū)功能通過(guò)以下代碼實(shí)現(xiàn):</p><p> string a,a1,a2,a3,a4,a5</p><p><b> int b=0</b></p><p> integer c=0</p><p> a=trim(sle_1.text) //a
46、為要借的書(shū)</p><p> select book1,book2,book3,book4,book5</p><p> into :a1,:a2,:a3,:a4,:a5</p><p> from namebook</p><p> where name=:name; //a1,a2,a3,a4,a5為已經(jīng)借的書(shū)</p&g
47、t;<p> if a1<>'' then c=c+1</p><p> if a2<>'' then c=c+1</p><p> if a3<>'' then c=c+1</p><p> if a4<>'' then c=c+1
48、</p><p> if a5<>'' then c=c+1</p><p> if c=5 then</p><p> messagebox('','您所借的書(shū)不能超過(guò)五本!')</p><p><b> b=1</b></p><
49、p><b> goto aa</b></p><p> elseif a=a1 or a=a2 or a=a3 or a=a4 or a=a5 then</p><p> messagebox('','您已經(jīng)借了這本書(shū)!')</p><p><b> b=1</b></p
50、><p><b> goto aa</b></p><p><b> end if</b></p><p> choose case c</p><p><b> case 0</b></p><p> update namebook</p&
51、gt;<p> set book1=:a</p><p> where name=:name;</p><p> update book</p><p> set book_jname=:name</p><p> where book_name=:a;</p><p> update boo
52、k</p><p> set flag='已借出'</p><p> where book_name=:a;</p><p><b> case 1</b></p><p> update namebook</p><p> set book2=:a</p>
53、<p> where name=:name;</p><p> update book</p><p> set book_jname=:name</p><p> where book_name=:a;</p><p> update book</p><p> set flag='已
54、借出'</p><p> where book_name=:a;</p><p><b> case 2</b></p><p> update namebook</p><p> set book3=:a</p><p> where name=:name;</p>
55、<p> update book</p><p> set book_jname=:name</p><p> where book_name=:a;</p><p> update book</p><p> set flag='已借出'</p><p> where boo
56、k_name=:a;</p><p><b> case 3</b></p><p> update namebook</p><p> set book4=:a</p><p> where name=:name;</p><p> update book</p><
57、;p> set book_jname=:name</p><p> where book_name=:a;</p><p> update book</p><p> set flag='已借出'</p><p> where book_name=:a;</p><p><b>
58、; case 4</b></p><p> update namebook</p><p> set book5=:a</p><p> where name=:name;</p><p> update book</p><p> set book_jname=:name</p>
59、<p> where book_name=:a;</p><p> update book</p><p> set flag='已借出'</p><p> where book_name=:a;</p><p> end choose</p><p><b> aa:
60、</b></p><p> if b=0 then messagebox('成功','借書(shū)成功!')</p><p> dw_1.retrieve()</p><p><b> return</b></p><p> 4.4.2.當(dāng)前借閱</p><
61、p> 當(dāng)前借閱模塊顯示當(dāng)前讀者所借的書(shū)籍:</p><p> 姓名欄中即為當(dāng)前登錄的讀者姓名,其余欄中為讀者所借的書(shū)籍,該對(duì)話框的open()函數(shù)編碼如下:</p><p> string lookforcondition</p><p> this.X=(w_main.WorkSpaceWidth() - this.Width)/2</p>
62、;<p> this.Y=(w_main.WorkSpaceHeight() - w_main.mdi_1.MicroHelpHeight - this.Height)/2 - 50</p><p> dw_1.settransobject(sqlca)</p><p> lookforcondition='name'+'='+"
63、;'"+ls_name+"'" //name即為讀者的name name=lsname</p><p> dw_1.setfilter(lookforcondition) //過(guò)濾dw_1</p><p> filter(dw_1)</p><p> dw_1.retrieve()</p><
64、p> 該段代碼實(shí)現(xiàn)數(shù)據(jù)窗口中顯現(xiàn)的為當(dāng)前讀者的借書(shū)信息。</p><p> 4.4.3.歸還處理</p><p> 勾選想要?dú)w還的書(shū)名,點(diǎn)擊確認(rèn)還這些書(shū)即可完成歸還功能:</p><p><b> string a</b></p><p> if cbx_1.checked=true then</p
65、><p> a=dw_1.getitemstring(dw_1.getrow(),'book1')</p><p> update namebook</p><p> set book1=null</p><p> where name=:ls_name;</p><p> update book
66、</p><p> set book_jname=null</p><p> where book_name=:a;</p><p> update book</p><p> set flag='未借出'</p><p> where book_name=:a;</p><
67、;p><b> end if</b></p><p> if cbx_2.checked=true then</p><p> a=dw_1.getitemstring(dw_1.getrow(),'book2')</p><p> update namebook</p><p> set
68、 book2=null</p><p> where name=:ls_name;</p><p> update book</p><p> set book_jname=null</p><p> where book_name=:a;</p><p> update book</p>&l
69、t;p> set flag='未借出'</p><p> where book_name=:a;</p><p><b> end if</b></p><p> if cbx_3.checked=true then</p><p> a=dw_1.getitemstring(dw_1.g
70、etrow(),'book3')</p><p> update namebook</p><p> set book3=null</p><p> where name=:ls_name;</p><p> update book</p><p> set book_jname=null&l
71、t;/p><p> where book_name=:a;</p><p> update book</p><p> set flag='未借出'</p><p> where book_name=:a;</p><p><b> end if</b></p>
72、<p> if cbx_4.checked=true then</p><p> a=dw_1.getitemstring(dw_1.getrow(),'book4')</p><p> update namebook</p><p> set book4=null</p><p> where name
73、=:ls_name;</p><p> update book</p><p> set book_jname=null</p><p> where book_name=:a;</p><p> update book</p><p> set flag='未借出'</p>&
74、lt;p> where book_name=:a;</p><p><b> end if</b></p><p> if cbx_5.checked=true then</p><p> a=dw_1.getitemstring(dw_1.getrow(),'book5')</p><p>
75、; update namebook</p><p> set book5=null</p><p> where name=:ls_name;</p><p> update book</p><p> set book_jname=null</p><p> where book_name=:a;<
76、/p><p> update book</p><p> set flag='未借出'</p><p> where book_name=:a;</p><p><b> end if</b></p><p> if cbx_1.checked=true or cbx_2.c
77、hecked=true or cbx_3.checked=true or cbx_4.checked=true or cbx_5.checked=true then </p><p> messagebox('提示','成功!')</p><p><b> else </b></p><p> messag
78、ebox('提示','您還沒(méi)有還書(shū)!')</p><p><b> end if</b></p><p> close(parent)</p><p><b> 4.5.書(shū)庫(kù)操作</b></p><p> 書(shū)庫(kù)操作包括書(shū)庫(kù)管理,書(shū)庫(kù)列表,書(shū)庫(kù)查詢?nèi)齻€(gè)功能。&l
79、t;/p><p> 4.5.1.書(shū)庫(kù)管理</p><p> 書(shū)庫(kù)管理必須通過(guò)管理員權(quán)限才能夠?qū)崿F(xiàn):</p><p> 書(shū)庫(kù)管理可以實(shí)現(xiàn)增加圖書(shū),刪除圖書(shū)的功能。</p><p> 新增記錄通過(guò)以下代碼實(shí)現(xiàn):</p><p> dw_1.ScrollToRow(dw_1.InsertRow(0))</p>
80、;<p> dw_1.SetFocus()</p><p> 刪除記錄通過(guò)以下代碼實(shí)現(xiàn):</p><p> deleterow(dw_1,dw_1.getrow())</p><p><b> 保存實(shí)現(xiàn)編碼:</b></p><p> if update(dw_1)=1 then</p>
81、;<p> dw_1.resetupdate()</p><p><b> commit;</b></p><p> messagebox('成功','數(shù)據(jù)已成功保存!')</p><p><b> else</b></p><p><b&
82、gt; rollback;</b></p><p> messagebox('失敗','數(shù)據(jù)保存失敗!')</p><p><b> end if</b></p><p><b> 退出實(shí)現(xiàn)編碼:</b></p><p> int mcount,
83、updateORnot //修改后沒(méi)有保存的行數(shù),是否修改</p><p> mcount=w_book.dw_1.modifiedcount()</p><p> if mcount=0 then</p><p><b> //無(wú)未保存的修改</b></p><p> close(w_book)</p&g
84、t;<p> elseif mcount>0 then</p><p> updateORnot=messagebox("保存修改","您已修改數(shù)據(jù),是否保存?",Question!,YesNoCancel!)</p><p> if updateORnot=1 then</p><p><b&
85、gt; //保存</b></p><p> if update(w_book.dw_1,true,false)=1 then</p><p> //保存成功,提交修改</p><p> w_book.dw_1.resetupdate()</p><p><b> commit;</b></p&
86、gt;<p><b> else</b></p><p><b> rollback;</b></p><p> messagebox("錯(cuò)誤!","保存失敗")</p><p><b> end if</b></p><
87、;p> close(w_book)</p><p> elseif updateORnot=2 then</p><p><b> //不保存</b></p><p><b> rollback;</b></p><p> close(w_book)</p><p
88、><b> end if</b></p><p><b> end if</b></p><p> 4.5.2.書(shū)庫(kù)列表</p><p> 書(shū)庫(kù)列表模塊實(shí)現(xiàn)顯示書(shū)庫(kù)中所有圖書(shū)的信息,截圖如下:</p><p> 4.5.3.查找圖書(shū)</p><p> 該模塊
89、實(shí)現(xiàn)搜索圖書(shū)的功能,有四種搜錯(cuò)方式:按書(shū)號(hào),按書(shū)名,按價(jià)格,按作者。</p><p> 按書(shū)號(hào)通過(guò)以下編碼實(shí)現(xiàn):</p><p> string lookforcondition</p><p> lookforcondition='book_no'+'='+"'"+sle_1.text+"
90、'"</p><p> dw_1.setfilter(lookforcondition)</p><p> filter(dw_1)</p><p> if dw_1.retrieve()=0 then messagebox('提示','圖書(shū)館沒(méi)有此書(shū)!')</p><p> 按書(shū)名通
91、過(guò)以下編碼實(shí)現(xiàn):</p><p> string lookforcondition</p><p> lookforcondition='book_name'+'='+"'"+sle_3.text+"'"</p><p> dw_1.setfilter(lookforcon
92、dition)</p><p> filter(dw_1)</p><p> if dw_1.retrieve()=0 then messagebox('提示','圖書(shū)館沒(méi)有此書(shū)!')</p><p> 按價(jià)格通過(guò)如下實(shí)現(xiàn):</p><p> string lookforcondition</p&
93、gt;<p> lookforcondition='book_jg'+ddplb_1.text+sle_4.text</p><p> dw_1.setfilter(lookforcondition)</p><p> filter(dw_1)</p><p> if dw_1.retrieve()=0 then message
94、box('提示','圖書(shū)館沒(méi)有此書(shū)!')</p><p><b> 按作者:</b></p><p> string lookforcondition</p><p> lookforcondition='book_zname'+'='+"'"+s
95、le_5.text+"'"</p><p> dw_1.setfilter(lookforcondition)</p><p> filter(dw_1)</p><p> if dw_1.retrieve()=0 then messagebox('提示','圖書(shū)館沒(méi)有此書(shū)!')</p>
96、<p><b> 4.6. 讀者操作</b></p><p> 讀者操作包括三個(gè)功能:讀者管理,讀者列表,讀者查詢。</p><p> 4.6.1.讀者管理</p><p> 讀者管理必須有管理員權(quán)限才能進(jìn)行操作,實(shí)現(xiàn)讀者的增刪功能。</p><p><b> 新增功能:</b>
97、;</p><p> dw_1.ScrollToRow(dw_1.InsertRow(0))</p><p> dw_1.SetFocus()</p><p><b> 刪除功能:</b></p><p> deleterow(dw_1,dw_1.getrow())</p><p><
98、;b> 保存:</b></p><p><b> string f</b></p><p> dw_1.scrolltorow(dw_1.rowcount())</p><p> f=dw_1.getitemstring(dw_1.getrow(),'name_name')</p><
99、;p> insert namebook(name)</p><p> values (:f);</p><p> if update(dw_1)=1 then</p><p> dw_1.resetupdate()</p><p><b> commit;</b></p><p>
100、 messagebox('成功','數(shù)據(jù)已成功保存!')</p><p><b> else</b></p><p><b> rollback;</b></p><p> messagebox('失敗','數(shù)據(jù)保存失敗!')</p>&
101、lt;p><b> end if</b></p><p><b> 退出編碼實(shí)現(xiàn)如下:</b></p><p> int mcount,updateORnot //修改后沒(méi)有保存的行數(shù),是否修改</p><p> mcount=w_book.dw_1.modifiedcount()</p>&l
102、t;p> if mcount=0 then</p><p><b> //無(wú)未保存的修改</b></p><p> close(w_book)</p><p> elseif mcount>0 then</p><p> updateORnot=messagebox("保存修改"
103、,"您已修改數(shù)據(jù),是否保存?",Question!,YesNoCancel!)</p><p> if updateORnot=1 then</p><p><b> //保存</b></p><p> if update(w_book.dw_1,true,false)=1 then</p><p&
104、gt; //保存成功,提交修改</p><p> w_book.dw_1.resetupdate()</p><p><b> commit;</b></p><p><b> else</b></p><p><b> rollback;</b></p>
105、<p> messagebox("錯(cuò)誤!","保存失敗")</p><p><b> end if</b></p><p> close(w_book)</p><p> elseif updateORnot=2 then</p><p><b>
106、 //不保存</b></p><p><b> rollback;</b></p><p> close(w_book)</p><p><b> end if</b></p><p><b> end if</b></p><p>
107、 4.6.2.讀者列表</p><p> 顯示所有讀者信息,并提供打印功能。</p><p> 4.6.3.讀者查詢</p><p> 按三種方式進(jìn)行查詢:圖書(shū)證號(hào),姓名,班級(jí)。</p><p> 通過(guò)變量p標(biāo)識(shí)使用哪種查詢方式:</p><p><b> 圖書(shū)證號(hào):p=1</b>&l
108、t;/p><p> sle_1.setfocus()</p><p> sle_1.enabled=true</p><p> sle_2.enabled=false</p><p> sle_3.enabled=false</p><p><b> 姓名:p=2</b></p>
109、<p> sle_2.setfocus()</p><p> sle_2.enabled=true</p><p> sle_1.enabled=false</p><p> sle_3.enabled=false</p><p><b> 班級(jí):p=3</b></p><p&
110、gt; sle_3.setfocus()</p><p> sle_3.enabled=true</p><p> sle_2.enabled=false</p><p> sle_1.enabled=false</p><p> 查找功能通過(guò)以下編碼實(shí)現(xiàn):</p><p> choose case p&l
111、t;/p><p><b> case 1</b></p><p> abc='name_no'+'='+"'"+sle_1.text+"'"</p><p><b> case 2</b></p><p>
112、abc='name_name'+'='+"'"+sle_2.text+"'"</p><p><b> case 3</b></p><p> abc='name_class'+'='+"'"+sle_3.text+&
113、quot;'"</p><p> end choose</p><p> messagebox('',abc)</p><p> dw_1.setfilter(abc)</p><p> filter(dw_1)</p><p> if dw_1.retrieve()=0 t
114、hen messagebox('提示','無(wú)此記錄!')</p><p><b> 4.7. 用戶管理</b></p><p> 用戶管理包括系統(tǒng)用戶管理和系統(tǒng)設(shè)置兩個(gè)功能。</p><p> 4.7.1.系統(tǒng)用戶管理</p><p> 系統(tǒng)用戶管理只能通過(guò)管理員權(quán)限操作??梢詫?shí)現(xiàn)
115、對(duì)系統(tǒng)用戶,即管理員的增加,刪除和修改等功能。</p><p><b> 增加:</b></p><p> dw_1.ScrollToRow(dw_1.InsertRow(0))</p><p> dw_1.SetFocus()</p><p> 刪除:deleterow(dw_1,dw_1.getrow())&
116、lt;/p><p><b> 保存:</b></p><p> if update(dw_1)=1 then</p><p> dw_1.resetupdate()</p><p><b> commit;</b></p><p> messagebox('成功
117、','數(shù)據(jù)已成功保存!')</p><p><b> else</b></p><p><b> rollback;</b></p><p> messagebox('失敗','數(shù)據(jù)保存失敗!')</p><p><b> e
118、nd if</b></p><p><b> 關(guān)閉實(shí)現(xiàn)編碼:</b></p><p> int mcount,updateORnot //修改后沒(méi)有保存的行數(shù),是否修改</p><p> mcount=w_book.dw_1.modifiedcount()</p><p> if mcount=0 t
119、hen</p><p><b> //無(wú)未保存的修改</b></p><p> close(w_book)</p><p> elseif mcount>0 then</p><p> updateORnot=messagebox("保存修改","您已修改數(shù)據(jù),是否保存?&qu
120、ot;,Question!,YesNoCancel!)</p><p> if updateORnot=1 then</p><p><b> //保存</b></p><p> if update(w_book.dw_1,true,false)=1 then</p><p> //保存成功,提交修改</p
121、><p> w_book.dw_1.resetupdate()</p><p><b> commit;</b></p><p><b> else</b></p><p><b> rollback;</b></p><p> messagebo
122、x("錯(cuò)誤!","保存失敗")</p><p><b> end if</b></p><p> close(w_book)</p><p> elseif updateORnot=2 then</p><p><b> //不保存</b></p
123、><p><b> rollback;</b></p><p> close(w_book)</p><p><b> end if</b></p><p><b> end if</b></p><p> 4.7.2.系統(tǒng)設(shè)置</p>
124、<p> 主要包括三個(gè)功能:開(kāi)機(jī)登錄窗口的設(shè)置,背景圖選擇,是否顯示開(kāi)機(jī)畫(huà)面。</p><p> Open()函數(shù)編碼如下:</p><p> char a,b,c</p><p> select start,bmp,flag</p><p> into :a,:b,:c</p><p><
125、;b> from sz;</b></p><p> choose case a //a為初始登錄方式,對(duì)應(yīng)start為0,1,2</p><p><b> case '0'</b></p><p> rb_3.checked=true</p><p><b&g
126、t; case '1'</b></p><p> rb_1.checked=true</p><p><b> case '2' </b></p><p> rb_2.checked=true</p><p> end choose</p><p&
127、gt; choose case b //背景選擇,對(duì)應(yīng)bmp 0,1,2,3</p><p><b> case '0'</b></p><p> rb_4.checked=true</p><p><b> case '1'</b></p><p> r
128、b_5.checked=true</p><p><b> case '2'</b></p><p> rb_6.checked=true</p><p><b> case '3'</b></p><p> rb_7.checked=true</p&g
129、t;<p> end choose</p><p> choose case c //啟動(dòng)動(dòng)畫(huà),對(duì)應(yīng)flag 0,1</p><p><b> case '0'</b></p><p> cbx_1.checked=false</p><p><b> case
130、9;1' </b></p><p> cbx_1.checked=true</p><p> end choose</p><p> this.X=(w_main.WorkSpaceWidth() - this.Width)/2</p><p> this.Y=(w_main.WorkSpaceHeight() -
131、 w_main.mdi_1.MicroHelpHeight - this.Height)/2 – 50</p><p><b> 確定實(shí)現(xiàn)編碼:</b></p><p> char a,b,c</p><p> //p為初始登錄方式</p><p> if p='1' then</p>
132、<p><b> update sz</b></p><p> set start='1';</p><p><b> end if</b></p><p> if p='2' then</p><p><b> update sz&
133、lt;/b></p><p> set start='2';</p><p><b> end if</b></p><p> if p='0' then</p><p><b> update sz</b></p><p>
134、set start='0';</p><p><b> end if</b></p><p><b> //q為背景選擇</b></p><p> choose case q</p><p><b> case '0'</b></p
135、><p><b> update sz</b></p><p> set bmp='0';</p><p><b> case '1'</b></p><p><b> update sz</b></p><p>
136、set bmp='1';</p><p><b> case '2'</b></p><p><b> update sz</b></p><p> set bmp='2';</p><p><b> case '3'
137、</b></p><p><b> update sz</b></p><p> set bmp='3';</p><p> end choose</p><p><b> //v為開(kāi)機(jī)動(dòng)畫(huà)</b></p><p> if v='
138、1' then</p><p><b> update sz</b></p><p> set flag='1';</p><p><b> end if</b></p><p> if v='0' then</p><p>&
139、lt;b> update sz</b></p><p> set flag='0';</p><p><b> end if</b></p><p> select start,bmp,flag</p><p> into :a,:b,:c</p><p&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告——圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告——圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(圖書(shū)館管理系統(tǒng))
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--圖書(shū)館圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--圖書(shū)館管理系統(tǒng)
- 圖書(shū)館管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 圖書(shū)館管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 圖書(shū)館系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- java數(shù)據(jù)庫(kù)課程設(shè)計(jì) 圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--圖書(shū)館管理系統(tǒng) (2)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)--圖書(shū)館管理系統(tǒng)
- java數(shù)據(jù)庫(kù)課程設(shè)計(jì)---圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-高校圖書(shū)館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-圖書(shū)館借閱系統(tǒng)
- 圖書(shū)館管理系統(tǒng)——《數(shù)據(jù)庫(kù)概論》課程設(shè)計(jì)報(bào)告書(shū)
評(píng)論
0/150
提交評(píng)論