

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C#面向對象程序設計課程設計圖書借閱管理系統源碼下載地址:院 系:計算機學院專 業:計算機科學與技術年 級:2014級學生姓名:/ 學 號:/教 師:/日 期: 2017年6月6日開發和運行環境- 開發環境:Windows 10-1703;- 開發工具:Visual Studio 013 Update5;- 數據庫工具:Mysql 5.7 + NaviCat;- 運行環境:Windows 10-1703;需求分析1.【角色】用戶通過【注冊】成為本系統的可訪問成員,通過【登陸】進入系統。用戶可以操作的功能有:-查看圖書館的所有圖書信息,圖書的是否可借閱信息;-搜索功能:通過輸入關鍵字,來查找是否
2、有自己需要的圖書;-借閱功能:未被其他用戶借閱的書籍可以直接借閱;-還書功能:若存在之前借閱的書籍,在未歸還的情況下,可以進行還書操作,若未存在需要還的書籍,提示:未有需要歸還的書籍;-個人信息:修改除了【用戶名】以外之前注冊的全部信息;-借閱信息:可以查看借閱歷史,曾經的借書日期和還書日期,是否有未歸還的書等等;2.【角色】管理員通過【登陸】進入用戶進入不了的管理系統。管理員可以操作的功能有:-圖書信息修改:修改除了圖書名的現有的所有圖書信息;-添加圖書:添加新的圖書;-查看用戶信息:可以查看用戶表的部分用戶信息;3數據保存:需要長期保存在數據庫的數據有:-圖書信息:圖書的基本信息;-讀者信
3、息:讀者的基本信息;-借閱信息:圖書的借閱信息;-帳號信息:圖書管理員和讀者的登錄帳號; 系統流程圖(不包含注冊功能)數據庫設計說明- 管理員表:adminInfo;- 圖書信息表:bookInfo;- 借閱信息表:borrowed;- 用戶信息表:userInfo;adminInfo表列名數據類型可否為空長度說明adminIdint否11管理員IDadminNamevarchar否255管理員用戶名adminPasswordvarchar否255管理員密碼bookInfo表列名數據類型可否為空長度說明bookIdint否11圖書編號IDbookNamevarchar否
4、255圖書名bookAuthorvarchar否255圖書作者bookPriceint否11圖書價格bookPressvarchar否255圖書出版社bookTypevarchar是255圖書類型isBorrowedtinyint是11是否被借閱borrowIdint是11借閱人的IDBorrowedTimedatetime是0被借閱的時間borrowed表列名數據類型可否為空長度說明borrowedIdint否11借閱信息IDuserIdint是11操作人IDuserNamevarchar是255操作人用戶名bookIdint是11圖書IDeditTimedatatime是0操作時間book
5、Namevarchar是255圖書名editvarchar是255操作名UserInfo表列名數據類型可否為空長度說明userIdint否11用戶IDuserNamevarchar否255用戶名userPasswordvarchar否255用戶密碼userSexvarchar是255用戶性別模塊分析cs文件:主界面:主要顯示代碼 mainCenter.cs :public mainCenter() InitializeComponent(); string sql = "server=localhost;user id=root;password=123456;database=C#
6、librarycenter" /根據自己的設置 MySqlConnection conn = new MySqlConnection(sql); conn.Open();/打開數據庫連接 MySqlDataAdapter data1 = new MySqlDataAdapter();/實例化sqldataadpter MySqlCommand cmd1 = new MySqlCommand("SELECT bookName as '圖書名',bookAuthor as '作者',bookPrice as '圖書價格',book
7、Press as '出版社',bookType as '圖書類型',(CASE isBorrowed WHEN 0 THEN '未借閱' ELSE '已借閱' END) as'借閱情況' FROM c#librarycenter.bookinfo", conn);/sql語句 data1.SelectCommand = cmd1;/設置為已實例化SqlDataAdapter的查詢命令 DataTable dt = new DataTable(); dt.Clear(); data1.Fill(dt);/把
8、數據填充到datatable dataGridView1.DataSource = dt;/將數據集綁定datagridview,完成顯示 dataGridView1.AllowUserToAddRows = false; / login login = new login(); label1.Text = "這里是SMART-LIBRARY!用戶:" + login.username; / 查找功能:主要實現代碼:private void button1_Click(object sender, EventArgs e) String so = textBox1.Text
9、; String sql = "server=localhost;user id=root;password=123456;database=C#librarycenter" /根據自己的設置 MySqlConnection conn = new MySqlConnection(sql); conn.Open();/打開數據庫連接 MySqlDataAdapter data1 = new MySqlDataAdapter();/實例化sqldataadpter MySqlCommand cmd1 = new MySqlCommand("SELECT bookNam
10、e as '圖書名',bookAuthor as '作者',bookPrice as '圖書價格',bookPress as '出版社',bookType as '圖書類型',(CASE isBorrowed WHEN 0 THEN '未借閱' ELSE '已借閱' END) as'借閱情況' FROM c#librarycenter.bookinfo where bookName like '%"+ so +"%' ",
11、 conn);/sql語句 data1.SelectCommand = cmd1;/設置為已實例化SqlDataAdapter的查詢命令 /DataSet ds1 = new DataSet();/實例化dataset DataTable dt = new DataTable(); dt.Clear(); data1.Fill(dt);/把數據填充到datatable dataGridView1.DataSource = dt;/將數據集綁定datagridview,完成顯示 dataGridView1.AllowUserToAddRows = false; 借閱功能:主要實現代碼 - bor
12、row.cs:private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) int r = this.dataGridView1.CurrentRow.Index; string h = this.dataGridView1.Rowsr.Cells1.Value.ToString(); string s = this.dataGridView1.Rowsr.Cells2.Value.ToString(); / login login = new login(); String us
13、erId = "" DateTime dt = DateTime.Now; String borrowedTime = dt.ToString("yyyy-MM-dd HH:mm:ss"); string sql = "server=localhost;user id=root;password=123456;database=C#librarycenter" /根據自己的設置 MySqlConnection conn = new MySqlConnection(sql); String updateBorrow1 = "s
14、elect userId from userInfo where userName = '"+login.username+"'" MySqlCommand mysqlcommand = new MySqlCommand(updateBorrow1,conn); conn.Open(); MySqlDataReader mdr = mysqlcommand.ExecuteReader(); if (mdr.Read() userId = mdr.GetString(0).ToString(); mdr.Close(); String updateB
15、orrow2 = "update bookInfo set isBorrowed = '1', borrowId = '" + userId + "',borrowedTime ='" + borrowedTime + "' where bookId = '" + h + "'" / MySqlCommand mysqlcommand2 = new MySqlCommand(updateBorrow2, conn); int i = mysqlcomm
16、and2.ExecuteNonQuery(); if (i != -1) MessageBox.Show(login.username + " rn恭喜你借" + " << " + s + " >> rn這本書" + "成功"); else MessageBox.Show("系統出了點問題,請聯系管理員!"); /更新借閱表 String updateBorrow3 = "insert into borrowed(userId,userName,bookId,e
17、ditTime,bookName,edit) values('" + userId + "','" + login.username + "','" + h + "','" + borrowedTime + "','" + s + "','借書')" MySqlCommand mysqlcommand3 = new MySqlCommand(updateBorrow3, conn); mys
18、qlcommand3.ExecuteNonQuery(); /刷新dataGridView1,重新綁定數據源 f5(); 歸還圖書功能:主要實現代碼 returnbook.cs:private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) int r = this.dataGridView1.CurrentRow.Index; string h = this.dataGridView1.Rowsr.Cells1.Value.ToString(); string s = this.d
19、ataGridView1.Rowsr.Cells2.Value.ToString(); DateTime dt = DateTime.Now; String returnedTime = dt.ToString("yyyy-MM-dd HH:mm:ss"); String userId = "" string sql = "server=localhost;user id=root;password=123456;database=C#librarycenter" /根據自己的設置 MySqlConnection conn = new
20、 MySqlConnection(sql); conn.Open(); / String updateBorrow1 = "update bookInfo set isBorrowed = '0',borrowId = null,borrowedTime = null where bookId = '"+h+"'" MySqlCommand mysqlcommand2 = new MySqlCommand(updateBorrow1, conn); int i = mysqlcommand2.ExecuteNonQuery
21、(); if (i != -1) MessageBox.Show(login.username + " rn<< " + s + " >> rn這本書,還書成功"); else MessageBox.Show("系統出了點問題,請聯系管理員!"); /更新借閱表 String updateBorrow = "select userId from userInfo where userName = '" + login.username + "'" MySq
22、lCommand mysqlcommand = new MySqlCommand(updateBorrow, conn); MySqlDataReader mdr = mysqlcommand.ExecuteReader(); if (mdr.Read() userId = mdr.GetString(0).ToString(); mdr.Close(); String updateBorrow2 = "insert into borrowed(userId,userName,bookId,editTime,bookName,edit) values('" + us
23、erId + "','" + login.username + "','" + h + "','" + returnedTime + "','" + s + "','還書')" MySqlCommand mysqlcommand3 = new MySqlCommand(updateBorrow2, conn); mysqlcommand3.ExecuteNonQuery(); /刷新dataGridView1
24、,重新綁定數據源 f5(); 修改個人信息:主要實現代碼 editUser.cs:private void button1_Click(object sender, EventArgs e) login login = new login(); String pw = textBox1.Text; String npw = textBox2.Text; String un = login.username; String userPassword = "" String userId = "" if (male.Checked = true) ans =
25、 "male" if (female.Checked = true) ans = "female" String sql = "server=localhost;user id=root;password=123456;database=C#librarycenter" /根據自己的設置 MySqlConnection conn = new MySqlConnection(sql); conn.Open(); / String yanzheng = "SELECT userPassword FROM userinfo whe
26、re userName = '"+login.username+"'" MySqlCommand yz = new MySqlCommand(yanzheng,conn); MySqlDataReader mdr2 = yz.ExecuteReader(); if (mdr2.Read() userPassword = mdr2.GetString(0); mdr2.Close(); if (textBox2.Text.Trim() != "") if (pw = userPassword) / String editsql1
27、= "select userId from userInfo where userName = '" + login.username + "' " MySqlCommand cmd1 = new MySqlCommand(editsql1, conn); MySqlDataReader mdr = cmd1.ExecuteReader(); if (mdr.Read() userId = mdr.GetString(0); else mdr.Close(); / String editsql2 = "update userIn
28、fo set userPassword = '" + npw + "', userSex = '" + ans + "'where userId = '" + userId + "'" MySqlCommand cmd2 = new MySqlCommand(editsql2, conn); int i = cmd2.ExecuteNonQuery(); if (i = 1) MessageBox.Show(login.username + "rn您的信息修改成功!r
29、n請牢記您現在的密碼"); else MessageBox.Show("修改失敗,請聯系管理員"); else MessageBox.Show("你的原密碼輸入錯誤,請重新輸入啊啊啊"); else MessageBox.Show("新的密碼請不要填空!"); 查詢借閱信息:主要實現代碼 borrowedinfo.cs:public borrowedinfo() InitializeComponent(); label1.Text = login.username + " ,以下是您的借閱記錄:" Str
30、ing sql = "server=localhost;user id=root;password=123456;database=C#librarycenter" /根據自己的設置 MySqlConnection conn = new MySqlConnection(sql); conn.Open();/打開數據庫連接 String userId = "" MySqlCommand cmd = new MySqlCommand("select userId from borrowed where userName = '"+
31、 login.username +"'",conn); MySqlDataReader mdr = cmd.ExecuteReader(); if (mdr.Read() userId = mdr.GetString(0); mdr.Close(); MySqlDataAdapter data1 = new MySqlDataAdapter();/實例化sqldataadpter MySqlCommand cmd1 = new MySqlCommand("select bookId as '圖書編號',bookName as '圖書
32、名',editTime as '操作時間',edit as '操作' from borrowed where userId = '"+ userId +"'", conn);/sql語句 data1.SelectCommand = cmd1;/設置為已實例化SqlDataAdapter的查詢命令 /DataSet ds1 = new DataSet();/實例化dataset DataTable dt = new DataTable(); dt.Clear(); data1.Fill(dt);/把數據填充到d
33、atatable dataGridView1.DataSource = dt;/將數據集綁定datagridview,完成顯示 dataGridView1.AllowUserToAddRows = false; 后臺管理系統:主要實現代碼 adminCenter.cs:private void 關于ToolStripMenuItem_Click(object sender, EventArgs e) MessageBox.Show("制作者:Matthew Hanrn完成時間:2017-6-4"); private void 退出系統ToolStripMenuItem_Cl
34、ick(object sender, EventArgs e) System.Environment.Exit(0); private void 圖書管理ToolStripMenuItem_Click(object sender, EventArgs e) editMain editMain = new editMain(); editMain.FormBorderStyle = FormBorderStyle.None; editMain.Dock = DockStyle.Fill; editMain.TopLevel = false; this.panel1.Controls.Clear(
35、); this.panel1.Controls.Add(editMain); editMain.Show(); private void 添加圖書ToolStripMenuItem_Click(object sender, EventArgs e) edit2 edit2 = new edit2(); edit2.Show(); private void 用戶管理ToolStripMenuItem_Click(object sender, EventArgs e) edit3 edit3 = new edit3(); edit3.FormBorderStyle = FormBorderStyl
36、e.None; edit3.Dock = DockStyle.Fill; edit3.TopLevel = false; this.panel1.Controls.Clear(); this.panel1.Controls.Add(edit3); edit3.Show(); 修改圖書信息:主要實現代碼 editMain.cs & edit1.cs:public static string bookname; public static string bookauthor; public static string bookprice; public static string book
37、press; public static string booktype;/說明:這里用的是全局靜態變量,把表格獲取到的數據保存起來,進行數據傳輸。private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) int r = this.dataGridView1.CurrentRow.Index; string bn = this.dataGridView1.Rowsr.Cells1.Value.ToString(); string ba = this.dataGridView1.
38、Rowsr.Cells2.Value.ToString(); string bp1 = this.dataGridView1.Rowsr.Cells3.Value.ToString(); string bp2 = this.dataGridView1.Rowsr.Cells4.Value.ToString(); string bt = this.dataGridView1.Rowsr.Cells5.Value.ToString(); / editMain editMain = new editMain(); editMain.bookname = bn.ToString(); editMain
39、.bookauthor = ba.ToString(); editMain.bookprice = bp1.ToString(); editMain.bookpress = bp2.ToString(); editMain.booktype = bt.ToString(); / edit1 edit1 = new edit1(); edit1.Show(); /接下來是edit1.cs中的提交新的數據,update數據庫。public edit1() InitializeComponent(); editMain editMain = new editMain(); label6.Text =
40、 editMain.bookname; textBox1.Text = editMain.bookauthor; textBox2.Text = editMain.bookprice; textBox3.Text = editMain.bookpress; textBox4.Text = editMain.booktype; private void button1_Click(object sender, EventArgs e) String bn = editMain.bookname; String ba = textBox1.Text; String bp1 = textBox2.T
41、ext; String bp2 = textBox3.Text; String bt = textBox4.Text; / String sql = "server=localhost;user id=root;password=123456;database=C#librarycenter" /根據自己的設置 MySqlConnection conn = new MySqlConnection(sql); conn.Open(); / String sql2 = "update bookInfo set bookAuthor = '" + ba
42、 + "', bookPrice = '" + bp1 + "', bookPress = '" + bp2 + "',bookType = '"+ bt +"' where bookName = '"+ bn +"' " MySqlCommand cmd = new MySqlCommand(sql2, conn); int i = cmd.ExecuteNonQuery(); if (i = 1) MessageBox.
43、Show("圖書修改成功!"); this.Hide(); 添加圖書:主要實現代碼 edit2.cs:private void button1_Click(object sender, EventArgs e) String bn = textBox5.Text; String ba = textBox1.Text; String bp1 = textBox2.Text; String bp2 = textBox3.Text; String bt = textBox4.Text; / String sql = "server=localhost;user id=root;password=123456;database=C#librarycenter" /根據自己的設置 MySqlConnection conn = new MySqlConnection(sql); conn.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江大慶市社會保險事業中心招聘筆試歷年參考題庫附帶答案詳解
- 安徽2025年安徽望江縣融媒體中心招聘急需緊缺專業技術人員筆試歷年參考題庫附帶答案詳解
- 上海建橋學院《新能源材料科學基礎》2023-2024學年第二學期期末試卷
- 羅定職業技術學院《需求分析與系統設計》2023-2024學年第二學期期末試卷
- 遼寧農業職業技術學院《工程統計》2023-2024學年第二學期期末試卷
- 遼寧師范高等專科學校《大數據基礎實踐》2023-2024學年第二學期期末試卷
- 衡陽科技職業學院《電視制片人管理》2023-2024學年第二學期期末試卷
- 黑河學院《建筑熱工與節能》2023-2024學年第二學期期末試卷
- 山西科技學院《社會體育導論》2023-2024學年第二學期期末試卷
- 長沙南方職業學院《自貿區與國際商務專題》2023-2024學年第二學期期末試卷
- 山東省臨沂市2025年普通高等學校招生全國統一考試(模擬)語文及答案(臨沂二模)
- 定額〔2025〕1號文-關于發布2018版電力建設工程概預算定額2024年度價格水平調整的通知
- 《云南省建筑工程資料管理規程應用指南)(上下冊)
- 上海建設工程通用硅酸鹽水泥質量檢驗報告 - 上海水泥行業協會
- NY T 1145-2006 溫室地基基礎設計丶施工與驗收技術規范
- 餐飲服務六大技能培訓.ppt
- 基于單片機的電話撥號系統的設計畢業論文
- 叉車產品數據表
- 高填方、深挖路塹邊坡和軟基監測方案
- 機器人學導論(課堂PPT)
- 機電設備維修與管理專業畢業論文30442
評論
0/150
提交評論