

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)據(jù)庫課程設(shè)計報告</b></p><p> 1.需求分析說明書3</p><p> 1.1.數(shù)據(jù)庫分析3</p><p> 1.2. 系統(tǒng)功能分析3</p><p> 2.E-R模型設(shè)計3</p><p> 3.數(shù)據(jù)庫設(shè)計4</p&
2、gt;<p> 4.系統(tǒng)功能實現(xiàn)5</p><p> 4.1.連接數(shù)據(jù)庫5</p><p> 4.2.用戶登錄界面6</p><p> 4.3.系統(tǒng)主界面9</p><p> 4.4.借還圖書9</p><p> 4.4.1. 借閱圖書10</p><p>
3、; 4.4.2.當(dāng)前借閱12</p><p> 4.4.3.歸還處理13</p><p> 4.5.書庫操作15</p><p> 4.5.1.書庫管理15</p><p> 4.5.2.書庫列表16</p><p> 4.5.3.查找圖書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è)計題目:圖書館管理系統(tǒng)</p><p><b> 需求分析說明書</b></p><p><b> 數(shù)據(jù)庫分析</b></p><p> 通過對圖書館管理系統(tǒng)功能的分析和實際調(diào)查情況,所設(shè)計的圖書館管理系統(tǒng)包括以下數(shù)據(jù)庫信息: </p>&
6、lt;p> ?。?)管理員基本信息:管理員ID、密碼。</p><p> (2)圖書信息:包括圖書ID、圖書名稱、作者、單價、借書人、以及借出標(biāo)記。</p><p> ?。?)借書信息:借書人、所借的的書名。</p><p> ?。?)讀者信息:包括讀者編號、讀者姓名、班級、以及所借書籍。</p><p> ?。?)系統(tǒng)設(shè)置:啟動動畫
7、、背景圖片、開機登錄窗口初始。</p><p> 1.2. 系統(tǒng)功能分析</p><p> 本系統(tǒng)功能模塊取決于登陸者的身份,若以管理員身份登錄,擁有以下功能:</p><p> 書庫管理:包括新書登記、圖書信息查詢、修改圖書信息等功能。</p><p> 讀者管理:其提供辦理借閱證、借閱證信息查詢、修改借閱證等功能。</p&g
8、t;<p> 系統(tǒng)管理:包括添加賬號、修改密碼和退出系統(tǒng)等功能。 </p><p> 若以讀者身份登錄本系統(tǒng),擁有以下功能:</p><p> 借書功能:查詢想要借的書本,然后即可借閱。</p><p> 借閱查詢:查詢已借書本。</p><p> 還書功能:歸還所借書籍。</p><p>&l
9、t;b> E-R模型設(shè)計</b></p><p><b> 數(shù)據(jù)庫設(shè)計</b></p><p><b> 基本表的設(shè)計如下:</b></p><p><b> 管理員基本信息表</b></p><p> 管理員基本信息表(users)包含了圖書館管理
10、員的基本信息,其結(jié)構(gòu)如表1所示。</p><p> 表1 管理員基本信息表</p><p><b> 圖書信息表</b></p><p> 圖書信息表(Book)包含了圖書館所有圖書的基本信息,用來方便讀者查詢和借閱,其結(jié)構(gòu)如表2所示。</p><p><b> 表2:圖書信息表</b>&
11、lt;/p><p><b> 讀者信息表</b></p><p> 讀者信息表(readname)包含了所有讀者的借閱卡信息,用來方便讀者借閱和管理員,其結(jié)構(gòu)如表3所示。</p><p><b> 表3:讀者信息表</b></p><p><b> 借書信息表</b><
12、;/p><p> 借書信息表(namebook)包含了每個讀者所借書籍信息(最多五本),其結(jié)構(gòu)如表4所示。</p><p><b> 表4:借書信息表</b></p><p><b> ?。?) 系統(tǒng)初始表</b></p><p> 系統(tǒng)初始表(sz)包含了啟動程序的初始設(shè)置值,其結(jié)構(gòu)表如表5所示
13、。</p><p><b> 表5 罰單信息表</b></p><p><b> 系統(tǒng)功能實現(xiàn)</b></p><p><b> 4.1.連接數(shù)據(jù)庫</b></p><p> 該系統(tǒng)是通過PowerBuilder和SQL server2000共同制作完成的。由SQLse
14、rver設(shè)計完數(shù)據(jù)庫book后,將book添加到ODBC數(shù)據(jù)源中。在PowerBuilder中database中的ODBC中新建book_profile,連接數(shù)據(jù)源book,即完成了PowerBuilder和數(shù)據(jù)庫的連接。并通過以下代碼實現(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("錯誤","數(shù)據(jù)庫連接錯誤,請檢查后重試!",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)包括兩個登陸界面:管理員登陸界面和讀者登陸界面。</p><p> 管理員登陸后可以實現(xiàn)書庫管理,讀者管理,與系統(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)提示","請輸入讀者證號!")</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)提示","請輸入姓名!")</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)提示","無此讀者!")</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("警告","姓名錯誤!")</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!','歡迎你的到來,'+ls_name+'!'+'現(xiàn)在是:'+ff) </p><p> m_main.m_1.m_2.enabled=true&
26、lt;/p><p> m_main.m_1.m_還書處理.enabled=true</p><p> m_main.m_1.m_當(dāng)前借閱.enabled=true</p><p> m_main.m_書庫操作.m_書庫管理.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='圖書館管理系統(tǒng)---當(dāng)前讀者: '+ls_name</p><p> name=ls_name</p><p> close(w_ptlogin)</p><p&
28、gt; 讀者登陸界面:讀者登錄后可以實現(xiàn)借閱圖書,借書查詢,還書功能。</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)提示","請輸入用戶名!")</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)提示","請輸入密碼!")</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)提示","無此管理員!")</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("警告","口令錯誤!")</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)登入成功','歡迎你的到來,'+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_還書處理.enabled=false</p><p> m_main.m_書庫操作.m_書庫管理.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='圖書館管理系統(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> 借還圖書:借閱圖書,當(dāng)前借閱,還書處理。</p><p> 書庫操作:書庫管理,書庫列表,查找圖書。</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> 所以只能實現(xiàn)查看圖書以及查詢讀者的功能。初始化通過以下代碼實現(xiàn):</p><p> m_main.m_書庫操
40、作.m_書庫管理.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_還書處理.enabled=false</p><p> w_main.title='圖書館管理系統(tǒng)'</p><p><b> name='0'</b></p><p> messagebo
42、x('提示','系統(tǒng)初始化成功!')。其它功能以下詳細(xì)介紹。</p><p><b> 4.4.借還圖書</b></p><p> 借還圖書包括借閱圖書,當(dāng)前借閱,歸還處理三個模塊。</p><p> 4.4.1. 借閱圖書</p><p> 上圖為借閱圖書截圖,該模塊可以實現(xiàn)以下
43、功能:首先在輸入欄中輸入想要借的書籍,點擊查詢即可獲得,然后點擊“借出”即可借閱。一個讀者最多可借五本書。</p><p> 其中,查詢書籍的代碼是通過書名查詢的,實現(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('提示','圖書館沒有此
45、書!')。</p><p> 借書功能通過以下代碼實現(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、為要借的書</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)借的書</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('','您所借的書不能超過五本!')</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)借了這本書!')</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('成功','借書成功!')</p><p> dw_1.retrieve()</p><p><b> return</b></p><p> 4.4.2.當(dāng)前借閱</p><
61、p> 當(dāng)前借閱模塊顯示當(dāng)前讀者所借的書籍:</p><p> 姓名欄中即為當(dāng)前登錄的讀者姓名,其余欄中為讀者所借的書籍,該對話框的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) //過濾dw_1</p><p> filter(dw_1)</p><p> dw_1.retrieve()</p><
64、p> 該段代碼實現(xiàn)數(shù)據(jù)窗口中顯現(xiàn)的為當(dāng)前讀者的借書信息。</p><p> 4.4.3.歸還處理</p><p> 勾選想要歸還的書名,點擊確認(rèn)還這些書即可完成歸還功能:</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('提示','您還沒有還書!')</p><p><b> end if</b></p><p> close(parent)</p><p><b> 4.5.書庫操作</b></p><p> 書庫操作包括書庫管理,書庫列表,書庫查詢?nèi)齻€功能。&l
79、t;/p><p> 4.5.1.書庫管理</p><p> 書庫管理必須通過管理員權(quán)限才能夠?qū)崿F(xiàn):</p><p> 書庫管理可以實現(xiàn)增加圖書,刪除圖書的功能。</p><p> 新增記錄通過以下代碼實現(xiàn):</p><p> dw_1.ScrollToRow(dw_1.InsertRow(0))</p>
80、;<p> dw_1.SetFocus()</p><p> 刪除記錄通過以下代碼實現(xiàn):</p><p> deleterow(dw_1,dw_1.getrow())</p><p><b> 保存實現(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> 退出實現(xiàn)編碼:</b></p><p> int mcount,
83、updateORnot //修改后沒有保存的行數(shù),是否修改</p><p> mcount=w_book.dw_1.modifiedcount()</p><p> if mcount=0 then</p><p><b> //無未保存的修改</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("錯誤!","保存失敗")</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.書庫列表</p><p> 書庫列表模塊實現(xiàn)顯示書庫中所有圖書的信息,截圖如下:</p><p> 4.5.3.查找圖書</p><p> 該模塊
89、實現(xiàn)搜索圖書的功能,有四種搜錯方式:按書號,按書名,按價格,按作者。</p><p> 按書號通過以下編碼實現(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('提示','圖書館沒有此書!')</p><p> 按書名通
91、過以下編碼實現(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('提示','圖書館沒有此書!')</p><p> 按價格通過如下實現(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('提示','圖書館沒有此書!')</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('提示','圖書館沒有此書!')</p>
96、<p><b> 4.6. 讀者操作</b></p><p> 讀者操作包括三個功能:讀者管理,讀者列表,讀者查詢。</p><p> 4.6.1.讀者管理</p><p> 讀者管理必須有管理員權(quán)限才能進(jìn)行操作,實現(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> 退出編碼實現(xiàn)如下:</b></p><p> int mcount,updateORnot //修改后沒有保存的行數(shù),是否修改</p><p> mcount=w_book.dw_1.modifiedcount()</p>&l
102、t;p> if mcount=0 then</p><p><b> //無未保存的修改</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("錯誤!","保存失敗")</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)行查詢:圖書證號,姓名,班級。</p><p> 通過變量p標(biāo)識使用哪種查詢方式:</p><p><b> 圖書證號: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> 班級: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> 查找功能通過以下編碼實現(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('提示','無此記錄!')</p><p><b> 4.7. 用戶管理</b></p><p> 用戶管理包括系統(tǒng)用戶管理和系統(tǒng)設(shè)置兩個功能。</p><p> 4.7.1.系統(tǒng)用戶管理</p><p> 系統(tǒng)用戶管理只能通過管理員權(quán)限操作??梢詫崿F(xiàn)
115、對系統(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)閉實現(xiàn)編碼:</b></p><p> int mcount,updateORnot //修改后沒有保存的行數(shù),是否修改</p><p> mcount=w_book.dw_1.modifiedcount()</p><p> if mcount=0 t
119、hen</p><p><b> //無未保存的修改</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("錯誤!","保存失敗")</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> 主要包括三個功能:開機登錄窗口的設(shè)置,背景圖選擇,是否顯示開機畫面。</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為初始登錄方式,對應(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 //背景選擇,對應(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 //啟動動畫,對應(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> 確定實現(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為開機動畫</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. 本站所有資源如無特殊說明,都需要本地電腦安裝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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計報告——圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告---圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告——圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告--圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(圖書館管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計報告--圖書館圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 圖書館管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 圖書館系統(tǒng)數(shù)據(jù)庫設(shè)計課程設(shè)計報告
- java數(shù)據(jù)庫課程設(shè)計 圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--圖書館管理系統(tǒng) (2)
- 數(shù)據(jù)庫原理課程設(shè)計--圖書館管理系統(tǒng)
- java數(shù)據(jù)庫課程設(shè)計---圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-高校圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-圖書館借閱系統(tǒng)
- 圖書館管理系統(tǒng)——《數(shù)據(jù)庫概論》課程設(shè)計報告書
評論
0/150
提交評論