版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 圖書管理系統(tǒng)</b></p><p> 學(xué) 院 計(jì)算機(jī)電子信息學(xué)院 </p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班 級(jí) 2010級(jí)1班 </p><p> 學(xué) 號(hào)
2、 </p><p> 姓 名 </p><p> 指導(dǎo)老師 </p><p> 完成時(shí)間 2014年1月1日 </p><p><b> 目錄</b></p><
3、p><b> 一 需求分析3</b></p><p><b> 二 系統(tǒng)設(shè)計(jì)4</b></p><p><b> 2.1設(shè)計(jì)目標(biāo)4</b></p><p> 2.2開發(fā)和運(yùn)行環(huán)境選擇4</p><p> 2.3系統(tǒng)功能描述4</p>&l
4、t;p> 2.4功能模塊劃分4</p><p> 2.5系統(tǒng)流程分析5</p><p> 三 數(shù)據(jù)庫設(shè)計(jì)及實(shí)現(xiàn)6</p><p> 3.1書籍庫的需求分析設(shè)計(jì)6</p><p> 3.2數(shù)據(jù)庫概念模型設(shè)計(jì)7</p><p> 3.3數(shù)據(jù)庫邏輯模型設(shè)計(jì)8</p><p&g
5、t;<b> 四 界面設(shè)計(jì)10</b></p><p> 五 系統(tǒng)運(yùn)行結(jié)果12</p><p><b> 5.1 登錄12</b></p><p> 5.2 圖書信息管理14</p><p> 5.3 用戶信息管理18</p><p> 5.4 客戶信息
6、管理20</p><p> 5.5 出版社信息管理22</p><p> 5.6 客戶租還書24</p><p> 5.7 綜合查詢26</p><p><b> 六 核心代碼30</b></p><p><b> 6.1 登錄30</b></p&
7、gt;<p> 6.2 圖書信息管理33</p><p> 6.3 借還書41</p><p> 6.4 綜合查詢51</p><p> 6.5 出版社信息管理54</p><p> 6.6 客戶信息管理62</p><p> 6.7 用戶信息管理70</p><
8、;p><b> 七 總結(jié)78</b></p><p><b> 圖書管理系統(tǒng)</b></p><p><b> 一 需求分析</b></p><p> 通過調(diào)查、收集與分析,獲得用戶對(duì)數(shù)據(jù)庫系統(tǒng)的如下需求:</p><p> 1.功能需求(處理要求):即用戶
9、需要系統(tǒng)具有什么處理功能。</p><p> 2.數(shù)據(jù)庫建庫需求(信息要求、安全性與完整性要求):即在數(shù)據(jù)庫中需要存儲(chǔ)些數(shù)據(jù)、數(shù)據(jù)的可靠性等。</p><p><b> 1.1 功能需求</b></p><p> 根據(jù)需求分析,系統(tǒng)應(yīng)具有如下功能:</p><p><b> 登錄功能;</b>
10、;</p><p> 用戶信息管理:包括客戶信息維護(hù)、圖書信息維護(hù)、出版社信息維護(hù)、客戶租還書信息管理、綜合查詢功能;</p><p> 客戶信息管理:辦理借書證、借書證信息查詢、租書和還書功能;</p><p> ?、芟到y(tǒng)管理功能:包括用戶信息管理、客戶信息管理和退出系統(tǒng)等功能。</p><p> 1.2 數(shù)據(jù)庫建庫需求</p&
11、gt;<p> 根據(jù)需求分析,系統(tǒng)涉及的數(shù)據(jù)主要有:管理員信息、圖書的信息、借書卡信息、借書信息、罰單信息。</p><p><b> 要求:</b></p><p> a.數(shù)據(jù)庫應(yīng)具有安全性。不同的用戶應(yīng)具有不同的使用權(quán)限,并具有各自的用戶帳號(hào)和密碼等。</p><p> b.數(shù)據(jù)庫應(yīng)具有完整性。對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行各種操
12、作后,數(shù)據(jù)庫的數(shù)據(jù)應(yīng)保持正確有效性。</p><p><b> 二 系統(tǒng)設(shè)計(jì) </b></p><p><b> 2.1設(shè)計(jì)目標(biāo)</b></p><p> 在學(xué)習(xí)了數(shù)據(jù)庫原理和SQL Server 2005數(shù)據(jù)庫管理系統(tǒng)后,采用Visual C#編程語言開發(fā)工具,設(shè)計(jì)并實(shí)現(xiàn)圖書管理系統(tǒng)。</p>&l
13、t;p> 本課程的目的是培養(yǎng)學(xué)生數(shù)據(jù)庫技術(shù)的綜合應(yīng)用能力,通過設(shè)計(jì)開發(fā)一個(gè)小型的數(shù)據(jù)庫管理系統(tǒng),將原理與應(yīng)用相結(jié)合,鍛煉學(xué)生實(shí)際問題的分析、設(shè)計(jì)與編程能力。</p><p> 2.2 開發(fā)和運(yùn)行環(huán)境選擇</p><p> 開發(fā)工具: 前臺(tái)開發(fā)語言為Visual Studio 2010,后臺(tái)數(shù)據(jù)庫為SQL Server 2005。</p><p> 2.
14、3 系統(tǒng)功能描述</p><p> 圖書館管理系統(tǒng)要完成的主要功能如下:</p><p> 客戶、圖書、出版社、用戶信息的數(shù)據(jù)維護(hù)模塊提供增加、刪除、修改、</p><p> 查找等數(shù)據(jù)維護(hù)功能。</p><p> 綜合查詢模塊可以通過用戶選擇的數(shù)據(jù)表和相應(yīng)的查詢條件來查詢相關(guān)</p><p><b>
15、; 內(nèi)容。</b></p><p> 客戶租還書模塊是圖書管理系統(tǒng)的核心功能,實(shí)現(xiàn)客戶與圖書出租的交</p><p><b> 互。</b></p><p> 2.4 功能模塊劃分</p><p> 圖書管理系統(tǒng)應(yīng)該具備客戶信息管理、圖書信息管理、出版社信息管理、用戶信息管理、租還書和綜合查詢等功能
16、。根據(jù)系統(tǒng)功能的需求分析,把該系統(tǒng)的功能劃分為6個(gè)模塊。</p><p><b> 客戶信息維護(hù)模塊</b></p><p><b> 圖書信息維護(hù)模塊</b></p><p><b> 出版社信息管理模塊</b></p><p><b> 用戶信息管理模塊&
17、lt;/b></p><p><b> 客戶租還書管理模塊</b></p><p><b> 綜合查詢模塊</b></p><p> 圖書管理系統(tǒng)的功能模塊圖如圖1-1所示。</p><p> 圖1-1 圖書管理系統(tǒng)功能模塊圖</p><p> 其中,客戶租
18、還書管理模塊包括以下三個(gè)子模塊:</p><p><b> 租借圖書</b></p><p><b> 歸還圖書</b></p><p><b> 查詢租借信息</b></p><p> 客戶信息維護(hù)模塊包括以下五個(gè)子模塊:</p><p>&l
19、t;b> 增加客戶信息</b></p><p><b> 刪除客戶信息</b></p><p><b> 修改客戶信息</b></p><p><b> 查詢客戶信息</b></p><p><b> 遍歷客戶信息</b><
20、;/p><p> 同理,如圖書信息管理、出版社信息管理、用戶信息管理模塊也被類似的分為增加、刪除、查詢、修改、遍歷五個(gè)模塊。</p><p> 由圖1-1可以看出,該信息管理系統(tǒng)的角色可以劃分為三類:</p><p> 系統(tǒng)管理員:擁有客戶信息維護(hù)、圖書信息管理、出版社信息管理、用戶信息管理以及客戶租還書管理和綜合查詢的權(quán)限。</p><p&g
21、t;<b> 客戶:租書和還書。</b></p><p> 普通用戶:擁有客戶信息維護(hù)、圖書信息管理、出版社信息管理以及客戶租還書管理和綜合查詢的權(quán)限。</p><p><b> 2.5系統(tǒng)流程分析</b></p><p> 圖書管理系統(tǒng)的開發(fā)首先要設(shè)計(jì)一個(gè)登錄系統(tǒng),用戶只有輸入了正確的用戶名和密碼方可進(jìn)入系統(tǒng)內(nèi)部
22、。圖1-2為系統(tǒng)流程圖。</p><p> 圖1-2 系統(tǒng)流程圖</p><p> 三 數(shù)據(jù)庫設(shè)計(jì)及實(shí)現(xiàn)</p><p> 3.1 書籍庫的需求分析設(shè)計(jì)</p><p> 系統(tǒng)的需求具體體現(xiàn)在對(duì)各種信息的保存、修改和查詢等方面。因此,一個(gè)滿足系統(tǒng)要求的數(shù)據(jù)庫必須充分照顧到各種信息的輸入輸出,以免遺漏導(dǎo)致開發(fā)時(shí)返工。</p&g
23、t;<p> 通過對(duì)系統(tǒng)功能的分析,圖書館管理系統(tǒng)需要包含以下數(shù)據(jù)庫信息。</p><p> (1)用戶信息,包括用戶編號(hào)、密碼和分類數(shù)據(jù)項(xiàng)。</p><p> (2)圖書信息,包括圖書編號(hào)、學(xué)生姓名圖書名稱、作者等數(shù)據(jù)項(xiàng)。</p><p> (3)租書信息,包括客戶編號(hào)、圖書編號(hào)、租借日期等數(shù)據(jù)項(xiàng)。</p><p>
24、 (4)客戶信息,包括客戶編號(hào)、姓名、密碼和分類數(shù)據(jù)項(xiàng)。</p><p> 3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p> 得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)后,就可以設(shè)計(jì)滿足需求的各種實(shí)體及相互關(guān)系,再用實(shí)體-關(guān)系圖,即E-R(Entity-Relationship)圖將這些內(nèi)容表達(dá)出來,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。</p><p> 本系統(tǒng)規(guī)劃出的實(shí)體有:圖書信
25、息實(shí)體、租書信息實(shí)體、出版社信息實(shí)體、客戶信息實(shí)體和用戶它們之間的關(guān)系如圖1-3~圖1-7所示。</p><p> 圖1-3 圖書信息實(shí)體E-R圖</p><p> 圖1-4 租書信息實(shí)體E-R圖</p><p> 圖1-5 客戶信息實(shí)體E-R圖</p><p> 圖1-6 出版社信息實(shí)體E-R圖</p><
26、p> 圖1-7 用戶信息實(shí)體E-R圖</p><p> 3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 啟動(dòng)SQL2005,新建BookManagement數(shù)據(jù)庫,根據(jù)E-R圖,創(chuàng)建以下數(shù)據(jù)表。</p><p><b> (1) 用戶表:</b></p><p> 表1-1 用戶表(User)<
27、/p><p><b> (2) 客戶表:</b></p><p> 表1-2 客戶表(Reader)</p><p><b> (3) 圖書表:</b></p><p> 表1-3 圖書表(Book)</p><p> (4) 租借信息表:</p>&
28、lt;p> 表1-4 租借信息表(BorrowBook)</p><p><b> 出版社表:</b></p><p> 表1-5 出版社表(PublishCompany)</p><p><b> 四 界面設(shè)計(jì)</b></p><p> 從系統(tǒng)功能模塊分析中可知,圖書管理系統(tǒng)
29、的界面應(yīng)該分為以下幾部分。</p><p><b> 用戶登錄界面</b></p><p><b> 客戶信息維護(hù)界面</b></p><p><b> 圖書信息維護(hù)界面</b></p><p><b> 出版社信息管理界面</b></p&g
30、t;<p><b> 用戶信息管理界面</b></p><p><b> 客戶租還書管理頁面</b></p><p><b> 綜合查詢頁面</b></p><p><b> 用戶登錄界面</b></p><p><b>
31、 客戶信息維護(hù)界面</b></p><p><b> 圖書信息維護(hù)界面</b></p><p> ?。?)出版社信息管理界面</p><p> ?。?)用戶信息管理界面</p><p> ?。?)客戶租還書管理頁面</p><p><b> (7)綜合查詢頁面</b
32、></p><p> (8)系統(tǒng)總控制頁面:</p><p><b> 五 系統(tǒng)運(yùn)行結(jié)果</b></p><p><b> 5.1登錄</b></p><p> 登錄成功:(已在數(shù)據(jù)庫中定義好用戶名及密碼)</p><p><b> 登錄失?。?l
33、t;/b></p><p> ?。?.1)登錄成功后進(jìn)去主頁面:(管理員)</p><p> 可以進(jìn)行用戶信息操作:</p><p> (3,2)登錄成功后進(jìn)去主頁面:(用戶)</p><p> 不是管理員不可以進(jìn)行用戶信息操作:</p><p> 5.2圖書信息管理:</p><p&
34、gt; (1)主頁面:(可瀏覽圖書信息,方便了新入庫圖書的操作)</p><p><b> (2)添加圖書:</b></p><p> 添加成功后在主頁面(變暗顯示)顯示添加的圖書:</p><p> 在數(shù)據(jù)庫中可看到添加的圖書:</p><p> 修改圖書:所有文本框均可操作,圖書編號(hào)為2014的JAVA改為
35、C#程序設(shè)計(jì)</p><p> 修改成功,在主頁面(變暗顯示)及數(shù)據(jù)庫中均顯示修改后的書籍</p><p> 刪除圖書:(以刪除添加的C#程序設(shè)計(jì)教程為例)</p><p> 刪除后主頁面及數(shù)據(jù)庫均無此書:</p><p> 5.3用戶信息管理:(主頁面)</p><p><b> 添加用戶:<
36、;/b></p><p> 在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示添加的用戶:</p><p> 修改用戶:所有文本框均可操作,該添加的huangyukun密碼為123456789</p><p> 在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示修改的用戶:</p><p> 刪除用戶:刪除添加的huangyukun用戶</p&g
37、t;<p> 5.4客戶信息管理:(主頁面)</p><p><b> ?。?)添加客戶</b></p><p> 在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示添加的客戶:</p><p> (2)修改客戶:所有文本框均可操作,修改黃裕錕為黃裕錕2</p><p> 在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示
38、修改的客戶:</p><p> ?。?)刪除客戶:刪除黃裕錕2客戶:</p><p> 5.5出版社信息管理:(主頁面)</p><p><b> (1)添加出版社:</b></p><p> 在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示添加的出版社:</p><p><b> ?。?)
39、修改出版社:</b></p><p> 在主頁面(變暗顯示)及數(shù)據(jù)庫中均能顯示修改的出版社:</p><p> ?。?)刪除出版社:刪除廣西大學(xué)2出版社:</p><p> 5.6客戶租還書:(主頁面)</p><p> (1)查詢剛添加的2014,無租借紀(jì)錄:</p><p> ?。?)借書:201
40、4客戶借編號(hào)為2014的圖書</p><p> 退出后可查詢到2014客戶借的2014圖書:</p><p> ?。?)還書:2014客戶還2014圖書,顯示還書成功。</p><p> 在數(shù)據(jù)庫中已無該客戶的租借紀(jì)錄:</p><p> 5.7綜合查詢:(主頁面)</p><p> (1.1)查詢客戶,無限制
41、條件,查詢?nèi)靠蛻簦?lt;/p><p> ?。?.2)查詢客戶,有限制條件:</p><p> ?。?.1)查詢書籍(全部):</p><p> ?。?.1)查詢書籍(部分):</p><p> ?。?.1)查詢出版社(全部):</p><p> ?。?.2)查詢出版社(部分):</p><p>
42、 ?。?.1)查詢借書情況(全部):</p><p> ?。?.2)查詢借書情況(部分):</p><p><b> 六 核心代碼</b></p><p><b> 連接數(shù)據(jù)庫語句:</b></p><p> this.sqlConnection1.ConnectionString = &q
43、uot;workstation id=kun-PC;packet size=4096;integrated security=SSPI;data source=kun-PC;persist security info=False;initial catalog=BookManagement";</p><p><b> 6.1登錄:</b></p><p>
44、; static void Main() </p><p><b> {</b></p><p> Application.Run(new LoginForm());</p><p><b> }</b></p><p> private void btnCancel_Click(obje
45、ct sender, System.EventArgs e)</p><p><b> {</b></p><p> this.textUserID.Text="";</p><p> this.textUserPassword.Text="";</p><p><b&
46、gt; }</b></p><p> private void btnOk_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> // string ConnectionString = "Data Source
47、=kun-PC;Initial Catalog=BookManagement;User ID=sa;Password=sa";</p><p> if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="system")</p><p><b> {</b><
48、/p><p> MessageBox.Show("登錄成功!");</p><p> this.Visible=false;</p><p> Form mainform=new MainForm(this.textUserID.Text,"system");</p><p> mainform.S
49、howDialog();</p><p> this.Close();</p><p><b> }</b></p><p> else if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="user")</p><p>
50、<b> {</b></p><p> MessageBox.Show("登錄成功!");</p><p> this.Visible=false;</p><p> Form mainform=new MainForm(this.textUserID.Text,"user");</p>
51、;<p> mainform.ShowDialog();</p><p> this.Close();</p><p><b> }</b></p><p><b> else</b></p><p> if(MessageBox.Show("輸入用戶<
52、;/p><p> {密碼有誤,是否重新登陸","輸入有誤",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)</p><p><b> {</b></p><p> this.textUserID.Clear();</
53、p><p> this.textUserPassword.Clear();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> this.Close();<
54、/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> string UserCheck(string username,string userpassword)</p><p&g
55、t;<b> {</b></p><p> string txtSql,usersort;</p><p> usersort="nobody";</p><p> txtSql = "SELECT * FROM [User]";</p><p> SqlCommand
56、 checkuser=new SqlCommand(txtSql,this.sqlConnection1);</p><p><b> try</b></p><p><b> {</b></p><p> this.sqlConnection1.Open();</p><p> SqlDa
57、taReader sqlreader=checkuser.ExecuteReader();</p><p> while(sqlreader.Read())</p><p> {if((sqlreader[0].ToString().Trim()==username)&&(sqlreader[1].ToString().Trim()==userpassword
58、))</p><p><b> {</b></p><p> usersort=sqlreader[2].ToString().Trim();</p><p> break;</p><p><b> }</b></p><p><b&g
59、t; }</b></p><p><b> }</b></p><p> catch(Exception e)</p><p><b> {</b></p><p> //Console.WriteLine(e.ToString());</p><p&g
60、t; MessageBox.Show(e.ToString());</p><p><b> }</b></p><p> sqlConnection1.Close();</p><p> //return "nobody";</p><p> return usersort;&l
61、t;/p><p><b> }</b></p><p> private void Login_Load(object sender, System.EventArgs e)</p><p><b> {</b></p><p> //this.sqlConnection1.Open();<
62、;/p><p> //this.sqlDataAdapter1.Fill(this.dataSetUser1);</p><p><b> }</b></p><p> 6.2圖書信息管理:</p><p> public Book()</p><p><b> {</b&g
63、t;</p><p> InitializeComponent();</p><p><b> }</b></p><p> protected override void Dispose( bool disposing )</p><p><b> {</b></p><
64、;p> if( disposing )</p><p><b> {</b></p><p> if(components != null)</p><p><b> {</b></p><p> components.Dispose();</p><p>&
65、lt;b> }</b></p><p><b> }</b></p><p> base.Dispose( disposing );</p><p><b> }</b></p><p> public void ErrorHandle(System.Exception
66、E)</p><p><b> {</b></p><p> MessageBox.Show(E.ToString());</p><p><b> }</b></p><p> private void ButtonPositonChange()</p><p>
67、;<b> {</b></p><p> this.btnPrevious.Enabled=true;</p><p> this.btnNext.Enabled=true;</p><p> this.btnFirst.Enabled=true;</p><p> this.btnLast.Enabled=t
68、rue;</p><p> if(this.BindingContext[this.objDataSetBook,"Book"].Position==0)</p><p><b> {</b></p><p> this.btnFirst.Enabled=false;</p><p> thi
69、s.btnPrevious.Enabled=false;</p><p><b> }</b></p><p> if(this.BindingContext[this.objDataSetBook,"Book"].Position==this.BindingContext[this.objDataSetBook,"Book"
70、;].Count-1)</p><p><b> {</b></p><p> this.btnNext.Enabled=false;</p><p> this.btnLast.Enabled=false;</p><p><b> }</b></p><p>&l
71、t;b> }</b></p><p> private void DatasetPostionChange()</p><p> {this.lblDatasetPosition.Text=(this.BindingContext[this.objDataSetBook,"Book"].Position+1)+"的"+&l
72、t;/p><p> (this.BindingContext[this.objDataSetBook,"Book"].Count);</p><p><b> }</b></p><p> private void TextEnableControl(bool valid)</p><p><
73、b> {</b></p><p><b> if(valid)</b></p><p><b> {</b></p><p> this.textId.Enabled=true;</p><p> this.textName.Enabled=true;</p>
74、<p> this.textPrice.Enabled=true;</p><p> this.textPublish.Enabled=true;</p><p> this.textPublishDate.Enabled=true;</p><p> this.textWriter.Enabled=true;</p>&
75、lt;p> this.textSort.Enabled=true;</p><p> this.textAmount.Enabled=true;</p><p> this.textRemain.Enabled=true;</p><p><b> }</b></p><p><b>
76、else</b></p><p><b> {</b></p><p> this.textId.Enabled=false;</p><p> this.textName.Enabled=false;</p><p> this.textPrice.Enabled=false;<
77、;/p><p> this.textPublish.Enabled=false;</p><p> this.textPublishDate.Enabled=false;</p><p> this.textWriter.Enabled=false;</p><p> this.textSort.Enabled=false;<
78、;/p><p> this.textAmount.Enabled=false;</p><p> this.textRemain.Enabled=false;</p><p><b> }</b></p><p><b> }</b></p><p> priv
79、ate void ButtonEnableControl(bool valid)</p><p><b> {</b></p><p><b> if(valid)</b></p><p><b> {</b></p><p> this.btnCancel.Enabl
80、ed=true;</p><p> this.btnApply.Enabled=true;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> this.bt
81、nCancel.Enabled=false;</p><p> this.btnApply.Enabled=false;</p><p><b> }</b></p><p><b> }</b></p><p> private void LoadDataSet()</p>
82、<p><b> {</b></p><p> DataSetBook objDataSetTemp=new DataSetBook();</p><p><b> try</b></p><p><b> {</b></p><p> this.FillD
83、ataSet(objDataSetTemp);</p><p><b> }</b></p><p> catch (System.Exception E) </p><p><b> {</b></p><p> this.ErrorHandle(E);</p><p&
84、gt;<b> }</b></p><p><b> try</b></p><p><b> {</b></p><p> this.objDataSetBook.Clear();</p><p> this.objDataSetBook.Merge(objData
85、SetTemp);</p><p><b> }</b></p><p> catch(System.Exception E) </p><p><b> {</b></p><p> this.ErrorHandle(E);</p><p><b> }
86、</b></p><p><b> }</b></p><p> private void FillDataSet(DataSetBook dataset)</p><p><b> {</b></p><p> dataset.EnforceConstraints=false;
87、</p><p><b> try</b></p><p><b> {</b></p><p> this.sqlConnection1.Open();</p><p> this.sqlDataAdapter1.Fill(dataset);</p><p><
88、;b> }</b></p><p> catch(System.Exception E)</p><p><b> {</b></p><p> this.ErrorHandle(E);</p><p><b> }</b></p><p><
89、;b> finally</b></p><p><b> {</b></p><p> dataset.EnforceConstraints=true;</p><p> this.sqlConnection1.Close();</p><p><b> }</b><
90、;/p><p><b> }</b></p><p> private void Book_Load(object sender, System.EventArgs e)</p><p><b> {</b></p><p> this.LoadDataSet();</p><
91、;p> this.DatasetPostionChange();</p><p> this.ButtonPositonChange();</p><p> this.TextEnableControl(false);</p><p> this.ButtonEnableControl(false);</p><p><b
92、> }</b></p><p> private void btnNext_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> this.BindingContext[this.objDataSetBook,"Book&qu
93、ot;].Position+=1;</p><p> this.ButtonPositonChange();</p><p> this.DatasetPostionChange();</p><p><b> }</b></p><p> private void btnPrevious_Click(objec
94、t sender, System.EventArgs e)</p><p><b> {</b></p><p> this.BindingContext[this.objDataSetBook,"Book"].Position-=1;</p><p> this.ButtonPositonChange();</
95、p><p> this.DatasetPostionChange();</p><p><b> }</b></p><p> private void btnFirst_Click(object sender, System.EventArgs e)</p><p><b> {</b><
96、;/p><p> this.BindingContext[this.objDataSetBook,"Book"].Position=0;</p><p> this.ButtonPositonChange();</p><p> this.DatasetPostionChange();</p><p><b>
97、 }</b></p><p> private void btnLast_Click(object sender, System.EventArgs e)</p><p> {this.BindingContext[this.objDataSetBook,"Book"].Position=this.BindingContext[this.objDat
98、aSetBook,"Book"].Count-1;</p><p> this.ButtonPositonChange();</p><p> this.DatasetPostionChange();</p><p><b> }</b></p><p> private void btn
99、Add_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> this.BindingContext[th
100、is.objDataSetBook,"Book"].AddNew();</p><p><b> }</b></p><p> catch(System.Exception E)</p><p><b> {</b></p><p> this.ErrorHandle(E
101、);</p><p><b> }</b></p><p> this.DatasetPostionChange();</p><p> this.ButtonPositonChange();</p><p> this.TextEnableControl(true);</p><p>
102、 this.ButtonEnableControl(true);</p><p><b> }</b></p><p> private void btnDelete_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><
103、;p> if((this.BindingContext[this.objDataSetBook,"Book"].Count>0)&</p><p> (MessageBox.Show("真的要?jiǎng)h除此記錄嗎","確定刪除",MessageBoxButtons.OKCancel,MessageBoxIcon.Question).Equ
104、als(DialogResult.OK)))</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> int currentPosition=this.BindingContext[this
105、.objDataSetBook,"Book"].Position;</p><p> this.objDataSetBook.Book.Rows[currentPosition].Delete();</p><p><b> }</b></p><p> catch(System.Exception E)</p&
106、gt;<p><b> {</b></p><p> this.ErrorHandle(E);</p><p><b> }</b></p><p> this.ButtonPositonChange();</p><p> this.DatasetPostionChange
107、();</p><p><b> }</b></p><p><b> else</b></p><p><b> return;</b></p><p><b> }</b></p><p> private void
108、btnModify_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> this.TextEnableControl(true);</p><p> this.ButtonEnableControl(true);</p><p>
109、<b> }</b></p><p> public void UpdateDataSet()</p><p><b> {</b></p><p> this.BindingContext[this.objDataSetBook,"Book"].EndCurrentEdit();</p&
110、gt;<p> DataSetBook objDataSetTemp=new DataSetBook();</p><p> objDataSetTemp=(DataSetBook)(this.objDataSetBook.GetChanges());</p><p><b> try</b></p><p><b&g
111、t; {</b></p><p> this.UpdateDataSource(objDataSetTemp);</p><p> this.objDataSetBook.Merge(objDataSetTemp);</p><p> this.objDataSetBook.AcceptChanges();</p><p>
112、;<b> }</b></p><p> catch(System.Exception E)</p><p><b> {</b></p><p> this.ErrorHandle(E);</p><p><b> }</b></p><p>
113、;<b> }</b></p><p> public void UpdateDataSource(DataSetBook Changerows)</p><p><b> {</b></p><p><b> try</b></p><p><b> {&
114、lt;/b></p><p> this.sqlConnection1.Open();</p><p> this.sqlDataAdapter1.Update(Changerows);</p><p><b> }</b></p><p> catch(System.Exception E)</p&
115、gt;<p><b> {</b></p><p> this.ErrorHandle(E);</p><p><b> }</b></p><p><b> finally</b></p><p><b> {</b></p
116、><p> this.sqlConnection1.Close();</p><p><b> }</b></p><p><b> }</b></p><p> private void btnApply_Click(object sender, System.EventArgs e)<
117、;/p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> MessageBox.Show("成功!");</p><p> this.UpdateDa
118、taSet();</p><p><b> }</b></p><p> catch(System.Exception E)</p><p><b> {</b></p><p> this.ErrorHandle(E);</p><p><b> }
119、</b></p><p> this.ButtonPositonChange();</p><p> this.DatasetPostionChange();</p><p> this.TextEnableControl(false);</p><p> this.ButtonEnableControl(false);
120、</p><p><b> }</b></p><p> private void btnCancel_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p><b> try</b><
121、;/p><p><b> {</b></p><p> this.BindingContext[this.objDataSetBook,"Book"].CancelCurrentEdit();</p><p><b> }</b></p><p> catch(System.
122、Exception E)</p><p><b> {</b></p><p> this.ErrorHandle(E);</p><p><b> }</b></p><p> this.DatasetPostionChange();</p><p> th
123、is.TextEnableControl(false);</p><p> this.TextEnableControl(false);</p><p> this.ButtonEnableControl(false);</p><p><b> }</b></p><p> private void btnE
124、xit_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> this.Close();</p><p><b> }</b></p><p><b> 6.3借還書:</b></
125、p><p> public BorrowReturn()</p><p><b> {</b></p><p> InitializeComponent();</p><p><b> }</b></p><p> protected override void Dis
126、pose( bool disposing )</p><p><b> {</b></p><p> if( disposing )</p><p><b> {</b></p><p> if (components != null) </p><p><b&
127、gt; {</b></p><p> components.Dispose();</p><p><b> }</b></p><p><b> }</b></p><p> base.Dispose( disposing );</p><p><
128、b> }</b></p><p> public void ErrorHandle(System.Exception E)</p><p><b> {</b></p><p> MessageBox.Show(E.ToString());</p><p><b> }</b
129、></p><p> private void btnExit_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> this.Close();</p><p><b> }</b></p>
130、<p> private void btnBorrow_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> DataRow row=this.objDataSetBorrowReturn.Tables["BorrowBook"].NewR
131、ow();</p><p> row["ReaderID"]=this.textReaderID.Text;</p><p> row["BookID"]=this.textBookID.Text;</p><p> row["BorrowDate"]=System.DateTime.Today;&l
132、t;/p><p> row["ReturnDate"]=DateTime.Today.AddMonths(1);</p><p> this.objDataSetBorrowReturn.Tables["BorrowBook"].Rows.Add(rowif(BorrowBook(this.textBookID.Text)&&Bo
133、rrowReader(this.textReaderID.Text))</p><p><b> {</b></p><p> this.textInformation.Text=this.textReaderID.Text+"租借圖書"+this.textBookID.Text+"成功";</p><p
134、> this.UpdateDataSet();</p><p> this.dataGrid1.Refresh();</p><p><b> }</b></p><p><b> }</b></p><p> private bool BorrowBook
135、(string BookID)</p><p><b> {</b></p><p> if(BorrowBookNumber(this.textBookID.Text)>0)</p><p><b> {</b></p><p> SqlCommand borrowbook=new
136、SqlCommand();</p><p> borrowbook.Connection=this.sqlConnection1;</p><p> borrowbook.CommandType=CommandType.StoredProcedure;</p><p> borrowbook.CommandText="dbo.StoredProced
137、ureBorrowBook";</p><p> SqlParameter parinput=borrowbook.Parameters.Add("@BookID",SqlDbType.Char);</p><p> parinput.Direction=ParameterDirection.Input;</p><p> par
138、input.Value=BookID;</p><p><b> try</b></p><p><b> {</b></p><p> this.sqlConnection1.Open();</p><p> borrowbook.ExecuteNonQuery();</p&g
139、t;<p> this.sqlConnection1.Close();</p><p> return true;</p><p><b> }</b></p><p> catch(System.Exception e)</p><p><b> {</b></p&g
140、t;<p> this.ErrorHandle(e);</p><p> this.sqlConnection1.Close();</p><p> return false;</p><p><b> }</b></p><p><b> }</b></p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書管理系統(tǒng)
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書管理系統(tǒng)
- c課程設(shè)計(jì)---圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì) (2)
- java課程設(shè)計(jì)--圖書管理系統(tǒng)
- sql課程設(shè)計(jì)---圖書管理系統(tǒng)
- sql圖書管理系統(tǒng)課程設(shè)計(jì)
- vb圖書管理系統(tǒng)課程設(shè)計(jì)
- oracle課程設(shè)計(jì)--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)—課程設(shè)計(jì)報(bào)告
- vf課程設(shè)計(jì)--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- jsp課程設(shè)計(jì)--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- sql圖書管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論