版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、高級程序設計語言圖書管理系統(tǒng)設計報告 學院: 國土資源工程學院 專業(yè): 測 繪 工 程 成員:*指導教師:黃云鎧日期: 2014年11月5日1 系統(tǒng)設計1.1 設計目標本系統(tǒng)是針對圖書管理工作過程進行設計的,主要實現(xiàn)如下目標:注冊用戶可以登錄此系統(tǒng);非注冊用戶注冊后可以使用本系統(tǒng);讀者可以查詢、借閱、歸還圖書等; 管理員可以對讀者、圖書進行管理。1.2數(shù)據(jù)庫設計概述1.2.1概念結(jié)構(gòu)設計將從需求分析中得到的數(shù)據(jù)信息抽象為概念模型,經(jīng)分析可得到數(shù)據(jù)庫的E-R模型。如圖所示。 圖書名稱作者編號出版日期價格種類出版社圖1-1 圖書實體ER圖密碼 讀者姓名編號專業(yè)借閱時間借書量年齡性別圖1-2 實體讀
2、者ER圖用戶密碼類型編號圖1- 3 用戶實體ER圖1.2 項目規(guī)劃圖書管理系統(tǒng)是一個典型的數(shù)據(jù)庫應用程序,由應用程序和后臺數(shù)據(jù)庫兩部分構(gòu)成。(1)應用程序應用程序主要包括登錄,注冊,用戶信息,讀者信息,圖書信息管理,借閱圖書,綜合查詢,出版社信息等幾個部分組成。(2)數(shù)據(jù)庫 數(shù)據(jù)庫負責對圖書信息,用戶信息等數(shù)據(jù)的管理。2 數(shù)據(jù)庫設計說明書21 數(shù)據(jù)庫表結(jié)構(gòu)2.1.1 圖書表book2.1.2 借閱信息表borrow2.1.2用戶信息表Reader2.1.4 用戶信息權(quán)限表right2.1.5用戶賬號表user2.1.6 管理員賬號表usererheper2.2數(shù)據(jù)關(guān)系圖2.3圖書管理系統(tǒng)暫有數(shù)
3、據(jù)(模擬運行)2.3.1管理員學工號: 姓名:邢吉昌密碼:1112.3.2普通用戶學工號: 姓名:豬八戒密碼:333學工號: 姓名:孫悟空密碼:4442.3.3圖書信息編號 作者 書名 出版社 出版日期 價格 書類H MARK C#入門經(jīng)典 清華大學出版社 2011/4/5 21.56 計算機H 哪吒 和猴子的那些事 天庭文印 2010/1/2 216.5 情感H二郎神 我也可以鬧天宮 天庭文印 2009/8/1 29.32 技術(shù)3 程序功能的實現(xiàn)3.1登陸界面已注冊用戶登錄時,用戶類別選擇普通用戶或管理員,不選擇會出現(xiàn)提示主要代碼如下:using System;using System.Co
4、llections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class LoginForm : Form public string password; private int ErrorTimes; str
5、ing User, Pwd; bool flagshow = false; private bool yanzhengshuru() password = textBox3.Text; if(Typename.Text.Trim()=) MessageBox.Show(請選擇登錄類型,登錄提示, MessageBoxButtons.OK,MessageBoxIcon.Information); Typename.Focus(); return false; else if(loginid.Text.Trim()=) MessageBox.Show(請輸入用戶名, 登錄提示, MessageBo
6、xButtons.OK, MessageBoxIcon.Information); loginid.Focus(); return false; else if (password = ) MessageBox.Show(請輸入密碼, 登錄提示, MessageBoxButtons.OK, MessageBoxIcon.Information); textBox3.Focus(); return false; else return true; public LoginForm() InitializeComponent(); private void cancelbtn_Click(obje
7、ct sender, EventArgs e) Application.Exit(); private void LoginForm_Load(object sender, EventArgs e) private void LoginForm_Closing(object sender, FormClosingEventArgs e) Application.Exit(); private void loginbtn_Click(object sender, EventArgs e) if (yanzhengshuru() if (Typename.Text.Trim() = 管理員) Sq
8、lConnection conConnection = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection.Open(); string cmd = select AdminID,AdminPass from userhelper ; SqlCommand com = new SqlCommand(cmd, conConnection); SqlDataReader reader = com.ExecuteReader(); whil
9、e (reader.Read() User = readerAdminID.ToString(); Pwd = readerAdminPass.ToString(); if (User.Trim() = loginid.Text & Pwd.Trim() = textBox3.Text) flagshow = true; reader.Close(); conConnection.Close(); if (flagshow = true) this.Hide(); admin f1 = new admin (); f1.ShowDialog(); else if (Typename.Text.
10、Trim() = 普通用戶) SqlConnection conConnection1 = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection1.Open(); string cnd = select ReaderID,ReaderPassword from reader ; SqlCommand cnm = new SqlCommand(cnd, conConnection1); SqlDataReader reader1 = cn
11、m.ExecuteReader(); while (reader1.Read() User = reader1ReaderID.ToString(); Pwd = reader1ReaderPassword.ToString(); if (User.Trim() = loginid.Text & Pwd.Trim() = textBox3.Text) flagshow = true; reader1.Close(); conConnection1.Close(); if (flagshow = true) this.Hide(); 讀者查閱 f1 = new 讀者查閱(); f1.ShowDi
12、alog(); else MessageBox.Show(用戶名不存在或密碼錯誤!, 提示); ErrorTimes+; if (ErrorTimes = 3) MessageBox.Show(登錄次數(shù)過多,程序?qū)㈥P(guān)閉); /Application.Exit(); return; private void label1_Click(object sender, EventArgs e) private void label2_Click(object sender, EventArgs e) private void label3_Click(object sender, EventArgs
13、e) private void button1_Click(object sender, EventArgs e) this.Hide(); 注冊 f1 = new 注冊(); f1.ShowDialog(); private void usercomboBox_SelectedIndexChanged(object sender, EventArgs e) private void useracctxt_TextChanged(object sender, EventArgs e) private void textBox3_TextChanged(object sender, EventA
14、rgs e) 3.2登陸界面如果學號已經(jīng)存在,則會出現(xiàn)“*用戶名已經(jīng)存在,請重新輸入”的提示,當重新輸入密碼時,如果兩次密碼不相同,則會出現(xiàn)“*請注意,兩次密碼不一樣”的提示 主要代碼如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;n
15、amespace WindowsFormsApplication1 public partial class 注冊 : Form public 注冊() InitializeComponent(); public bool UserFlag; private void textBox3_TextChanged(object sender, EventArgs e) if (textBox2.Text.Trim() != textBox3.Text.Trim() label6.Visible = true; else label8.Visible = true; label6.Visible =
16、 false; private void 注冊_Load(object sender, EventArgs e) private void textBox1_TextChanged(object sender, EventArgs e) SqlConnection conConnection = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection.Open(); string cmd = select ReaderID from re
17、ader ; SqlCommand com = new SqlCommand(cmd ,conConnection ); SqlDataReader readerUser = com.ExecuteReader(); while (readerUser.Read () if(textBox1.Text =readerUserReaderID.ToString().Trim() label7.Visible = true; UserFlag = true; return; else if (textBox1.Text != readerUserReaderID.ToString().Trim()
18、 label7.Visible = false; label9.Visible = true; UserFlag = false; private void button1_Click(object sender, EventArgs e) int index = textBox4.Text.IndexOf(); if (index 1) label10.Visible = true; label10.Text = 郵箱格式不正確,請重新輸入; else label10.Visible = true; label10.Text = 郵箱格式正確; if(UserFlag=true ) Mess
19、ageBox.Show(用戶已經(jīng)存在,請重新輸入!); return; if (UserFlag=false) SqlConnection conConnection = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection.Open(); string cmd = insert into reader(ReaderID,ReaderPassword,ReaderEmall) values (+textBox1.Text+,+textB
20、ox2.Text+,+textBox4.Text+); SqlCommand com = new SqlCommand(cmd,conConnection ); com.ExecuteNonQuery(); conConnection.Close(); MessageBox.Show(注冊成功!點擊確定,返回登錄界面。,提示); this.Close(); LoginForm f2 = new LoginForm(); 3.3管理員操作界面using System;using System.Collections.Generic;using System.ComponentModel;usin
21、g System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication1 public partial class admin : Form public admin() InitializeComponent(); private void 查看用戶信息ToolStripMenuItem_Click(object sender, EventArgs e) 權(quán)限設置 f8 = new 權(quán)限設置(); f8
22、.ShowDialog(); private void 查看用戶信息ToolStripMenuItem1_Click(object sender, EventArgs e) 用戶信息 fi = new 用戶信息(); fi.ShowDialog(); private void 新增用戶ToolStripMenuItem1_Click(object sender, EventArgs e) 新增用戶 f2 = new 新增用戶(); f2.ShowDialog(); private void 刪除用戶ToolStripMenuItem1_Click(object sender, EventArg
23、s e) 用戶信息 f3 = new 用戶信息(); f3.button2.Visible = true; f3.ShowDialog(); private void 錄入書籍ToolStripMenuItem_Click(object sender, EventArgs e) 書籍信息 f5 = new 書籍信息(); f5.ShowDialog(); private void 刪除書籍ToolStripMenuItem_Click(object sender, EventArgs e) 刪除書籍 f6 = new 刪除書籍(); f6.ShowDialog(); private void
24、還書處理ToolStripMenuItem_Click(object sender, EventArgs e) 還書處理 f9 = new 還書處理(); f9.ShowDialog(); private void admin_Load(object sender, EventArgs e) private void 借閱處理ToolStripMenuItem_Click(object sender, EventArgs e) 借閱處理 f10 = new 借閱處理(); f10.ShowDialog(); 3.3.1管理用戶管理用戶下共有三個子菜單新增用戶界面主要代碼如下:us
25、ing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class 新增用戶 : Form public 新增用戶() InitializeCompon
26、ent(); private void button1_Click(object sender, EventArgs e) SqlConnection conConnection = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection.Open(); string cmd = insert into reader(ReaderID,ReaderName,ReaderPassword,ReaderSex,ReaderAge,Reader
27、Dept,ReaderZhuanYe,MaxNumber,ReaderEmall) values ( + textBox1.Text + , + + textBox2.Text + , + + textBox3.Text + , + + textBox4.Text + , + + textBox5.Text + , + + textBox6.Text + , + + textBox7.Text + , + + textBox8.Text + , + + textBox9.Text + ); SqlCommand com = new SqlCommand(cmd, conConnection);
28、 com.ExecuteNonQuery(); conConnection.Close(); MessageBox.Show(添加成功!點擊確定,返回登錄界面。, 提示); this.Close(); 刪除用戶界面輸入學號即可查詢用戶信息,如圖,點擊刪除即刪除該用戶主要代碼如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;usin
29、g System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class 用戶信息 : Form bool UserFlag; public 用戶信息() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if(UserFlag=false ) MessageBox.Show(不存在該用戶,請核對后再輸入,警告); return; if (UserFl
30、ag = true) SqlConnection conConnection = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection.Open(); string cmd = select * from reader; SqlCommand com=new SqlCommand (cmd,conConnection); com.CommandText = select * from reader; SqlDataReader dr =
31、 com.ExecuteReader(); while (dr.Read() label11.Visible = true; textBox2.Text = drReaderName.ToString().Trim(); textBox3.Text = drReaderPassword.ToString().Trim(); textBox4.Text = drReaderSex.ToString().Trim(); textBox5.Text = drReaderAge.ToString().Trim(); textBox6.Text = drReaderDept.ToString().Tri
32、m(); textBox7.Text = drReaderZhuanYe.ToString().Trim(); textBox8.Text = drMaxNumber.ToString().Trim(); textBox9.Text = drReaderEmall.ToString().Trim(); conConnection.Close(); private void textBox1_TextChanged(object sender, EventArgs e) SqlConnection conConnection = new SqlConnection(Data Source=.sq
33、lexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection.Open(); string cmd = select ReaderID from reader ; SqlCommand com = new SqlCommand(cmd, conConnection); SqlDataReader readerUser = com.ExecuteReader(); while (readerUser.Read() if (textBox1.Text = readerUserReaderID.ToString()
34、.Trim() UserFlag = true; return; else if (textBox1.Text != readerUserReaderID.ToString().Trim() UserFlag = false; private void button2_Click(object sender, EventArgs e) SqlConnection conConnection = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConne
35、ction.Open(); string cmd = delete from reader where ReaderID= + textBox1.Text.Replace(, ) + ; SqlCommand com = new SqlCommand(cmd, conConnection); com.ExecuteNonQuery(); conConnection.Close(); MessageBox.Show(是否確認刪除, 提示); 查看用戶信息界面該界面與刪除用戶界面代碼基本相似,主要是將查詢按鈕隱藏,故代碼不再列出3.3.2圖書管理圖書查詢下共有2個子菜單3.3.2.
36、1錄入書籍頁面主要代碼如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class 書籍信息 : Form public 書籍信息()
37、InitializeComponent(); private void button1_Click(object sender, EventArgs e) SqlConnection conConnection = new SqlConnection(Data Source=.sqlexpress;Initial Catalog=學生管理數(shù)據(jù)庫;Integrated Security=True); conConnection.Open(); string cmd = insert into book (BookID,BookWrite,BookName,BookPublish,BookPubl
38、ishDate,BookPrice,BookSort) values ( + textBox1.Text + , + + textBox2.Text + , + + textBox3.Text + , + + textBox4.Text + , + + textBox5.Text + , + + textBox6.Text + , + + textBox7.Text + ); SqlCommand com = new SqlCommand(cmd, conConnection); com.ExecuteNonQuery(); conConnection.Close(); MessageBox.Show(錄入成功, 提示)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)業(yè)空間的市場定位和差異化競爭考核試卷
- 廢棄資源綜合利用的環(huán)境保護與碳減排考核試卷
- 蘇州科技大學天平學院《機械制造裝備設計》2021-2022學年第一學期期末試卷
- 蘇州科技大學天平學院《混凝土與砌體結(jié)構(gòu)設計》2022-2023學年第一學期期末試卷
- 小學教育科研工作總結(jié)(8篇)
- 天然氣行業(yè)人才培養(yǎng)與引進考核試卷
- Shanzhiside-methyl-ester-Standard-生命科學試劑-MCE
- 教科研個人年度工作總結(jié)(10篇)
- 操作系統(tǒng)復習
- 蘇州科技大學天平學院《多聲部音樂分析與寫作三》2021-2022學年第一學期期末試卷
- 2023年唐山銀行招聘考試真題
- 《小學低年級語文說話能力培養(yǎng)的研究》課題實施方案
- 大型機械運輸服務方案
- 2024年公司工會工作計劃模版(三篇)
- 9.1增強安全意識課件-2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 中國移動鐵通公司招聘筆試題庫2024
- 《鄒忌諷齊王納諫》課件
- 榆能集團筆試考什么
- 應用英語智慧樹知到答案2024年陜西交通職業(yè)技術(shù)學院
- 光伏組件回收再利用建設項目可行性研究報告寫作模板-拿地申報
- 一例下肢靜脈血栓疑難病例護理討論1
評論
0/150
提交評論