图书管理系统结题报告.doc_第1页
图书管理系统结题报告.doc_第2页
图书管理系统结题报告.doc_第3页
图书管理系统结题报告.doc_第4页
图书管理系统结题报告.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档* 学 院计 算 机 科 学 系实训项目结题报告项目名称 图书管理系统 课程名称 C# Winform 程序设计实践 专业 软件技术 班 级 软件121 项目组编号 项目经理 * 实训时间 2014.1.3 项目经理填写成员,实训成绩由教师填写:成员*个人成绩项目组总成绩教师签名项目需求概要:计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理变得非常有必要。所以,图书管理系统的制作是急迫的和必须的。项目计划: 将项目分为5个模块:1、 数据库的设计2、 界面的设计3、 第一个任务:日常操作:A、 图书归还B、 图书借出C、 借阅情况 4、 第二个任务:资料管理A、 添加书籍B、 修改书籍C、 删除书籍D、 查询书籍5、 第三个任务:用户管理A、 用户查询B、 用户修改C、 用户删除D、 用户增加项目详细设计:1. 程序清单: 11个界面设计frmBookAdd.cs书籍添加frmReturnBooks.cs归还书籍frmBorrowBooks.cs借出书籍frmChangePassword.cs密码修改frmBookManage.cs书籍管理frmReaderManage.cs用户管理frmLogin.cs登陆frmMain.cs主界面frmAddReader.cs添加用户frmoperation.cs用户管理(注销与挂失)frmUpdateBooks.cs图书修改frmQueryReader.cs查询用户frmfindBooks.cs查询图书具体设计简介:操作流程1、 数据库设计: 2、 界面的设计:13个界面3、第一个任务:日常操作:E、 图书归还F、 图书借出 3、第三个任务:用户管理G、 用户查询H、 用户修改I、 用户删除J、 用户增加详细设计登陆: 主界面: 实现,图书管理,用户管理,图书借阅,图书归还,修改用户密码等界面的跳转 借阅书籍:先查询读者的信息,再根据读者额的相关信息做图书的借阅:读者信息:图书借阅:private void button1_Click(object sender, EventArgs e) StringBuilder builder = new StringBuilder(); builder.Append(select * from Bookstore where bookid like + tbbooksid.Text.ToString().Trim() + ); dgvBooksINfor.AutoGenerateColumns = false; SqlConnection sc1 = new SqlConnection(data source=(local);initial catalog=BMS;integrated security=true); SqlDataAdapter sda1 = new SqlDataAdapter(builder.ToString(), sc1); dsbook = new DataSet(); sda1.Fill(dsbook); bsbook = new BindingSource(dsbook, Table); /renovate(); if (tbname.Text = ) MessageBox.Show(请?先选?择?读者?,?然?后再增?加图?书酣?); return; if (tbbooksid.Text = ) MessageBox.Show(请?选?择?图?书酣?, 系统?提示?); return; /手?动添加行D bsbook = new BindingSource(dsbook, Table); DataRowView drv = (DataRowView)bsbook.Current; if (Convert.ToInt32(drvcount) 1)/判断是否能够借出 MessageBox.Show(图书酣库存不足,暂时骸不能借出!, 系统提示); return; if (tbrentnum.Text.ToString()=0)/根据当獭前用户判断用户的可借本数簓 MessageBox.Show(当獭前用户的可借本数簓达到最大洙值, 系统提示); return; DataGridViewRow row = new DataGridViewRow(); DataGridViewCheckBoxCell cb1 = new DataGridViewCheckBoxCell(); cb1.Value = false; row.Cells.Add(cb1); DataGridViewTextBoxCell tb2 = new DataGridViewTextBoxCell(); tb2.Value = drvbookid.ToString(); row.Cells.Add(tb2); DataGridViewTextBoxCell tb3 = new DataGridViewTextBoxCell(); tb3.Value = drvname.ToString(); row.Cells.Add(tb3); DataGridViewTextBoxCell tb4 = new DataGridViewTextBoxCell(); tb4.Value = drvISBN.ToString(); row.Cells.Add(tb4); DataGridViewTextBoxCell tb5 = new DataGridViewTextBoxCell(); tb5.Value = drvclassName.ToString(); row.Cells.Add(tb5); DataGridViewTextBoxCell tb6 = new DataGridViewTextBoxCell(); tb6.Value = DateTime.Now.ToLongDateString(); row.Cells.Add(tb6); DataGridViewTextBoxCell tb7 = new DataGridViewTextBoxCell(); tb7.Value = DateTime.Now.AddDays(Convert.ToInt32(tbrentTime.Text.Trim(); row.Cells.Add(tb7); DataGridViewTextBoxCell tb_8 = new DataGridViewTextBoxCell(); tb_8.Value = drvprice.ToString(); row.Cells.Add(tb_8); dgvBooksINfor.Rows.Add(row); drvcount = Convert.ToInt32(drvcount) - 1;/ count-; 图书归还:图书借阅情况查询: private void btnfindid_Click(object sender, EventArgs e) tbid.Clear(); tbname.Clear(); tbreadtype.Clear(); tbtype.Clear(); dgvBooksINfor.Rows.Clear(); StringBuilder builder = new StringBuilder(); builder.Append(select * from Readers where id like + tbreadid.Text.ToString().Trim() + or id like% + tbreadid.Text.ToString().Trim() + %); dgvBooksINfor.AutoGenerateColumns = false; SqlConnection sc = new SqlConnection(data source=(local);initial catalog=BMS;integrated security=true); SqlDataAdapter sda = new SqlDataAdapter(builder.ToString(), sc); dsRead = new DataSet(); sda.Fill(dsRead); bsread = new BindingSource(dsRead, Table); tbid.DataBindings.Add(Text, bsread, id); tbname.DataBindings.Add(Text, bsread, name); tbreadtype.DataBindings.Add(Text, bsread, readTYpe); tbtype.DataBindings.Add(Text, bsread, type); / tbreadid.Clear(); /ReturnBooks(); StringBuilder builder1 = new StringBuilder(); builder1.Append(select * from BorrowBooks where readId like + tbreadid.Text.ToString().Trim() + order by borrowTime asc);/order by borrowTime asc dgvBooksINfor.AutoGenerateColumns = false; SqlConnection sc2 = new SqlConnection(data source=(local);initial catalog=BMS;integrated security=true); SqlDataAdapter sda1 = new SqlDataAdapter(builder1.ToString(), sc2); dsbook = new DataSet(); sda1.Fill(dsbook);图书借阅归还: private void btreturnbooks_Click(object sender, EventArgs e) if (tbtype.Text = 挂骸 | tbtype.Text = 冻结) MessageBox.Show(读者已经- + tbtype.Text + ,不能进行归还, 系统提示?); return; foreach (DataGridViewRow row in dgvBooksINfor.Rows) /DataGridViewCheckBoxCell cb = (DataGridViewCheckBoxCell)row.Cells0; if (row.Cells0 != null & Convert.ToBoolean(row.Cells0.Value) = true) /数簓据Y库a中D的?已?连?接问题琣的?编括写 SqlConnection scinsert = new SqlConnection(data source=(local);initial catalog=BMS;integrated security=true); scinsert.Open(); SqlCommand scmdinsert = new SqlCommand(update Bookstore set count=count+1 where bookid=+row.Cells1.Value.ToString()+, scinsert); scmdinsert.ExecuteNonQuery(); scinsert.Close(); MessageBox.Show(归还成功!, 系统提示); 书籍管理:修改书籍、添加书籍、删除书籍、查询书籍、书籍类型的树状图 private void bt_DB_addbook_Click(object sender, EventArgs e)/增?加图?书酣 frmAddBooks frm = new frmAddBooks(dsRead, dr, sdaRead, tableBookType); frm.Show(); private void bt_DB_deletebook_Click(object sender, EventArgs e)/删?除y图?书酣 if (dgvReadManage.SelectedRows.Count = 0) /return; MessageBox.Show(请?您选?择?要癮删?除y的?行D再进?行D操作痢!?,系统?提示?); for (int i = 0; i this.dgvReadManage.SelectedRows.Count; i+) this.dgvReadManage.Rows.Remove(this.dgvReadManage.SelectedRowsi); sdaRead.Update(dsRead); dsRead.AcceptChanges(); MessageBox.Show(保馈存?成功|!?,系统?提示?); private void bt_DB_updatebook_Click(object sender, EventArgs e)/修T改?图?书酣 if (dgvReadManage.SelectedRows.Count = 0) MessageBox.Show(请?选?中D要癮修T改?的?行D后在进?行D修T改?!?); return; DataGridViewRow dgvrow = dgvReadManage.SelectedRows0; string id1 = dgvrow.Cells1.Value.ToString().Trim(); DataRow dr = dsRead.Tables0.Select(bookid= + id1 + ); frmUpdateBooks frm = new frmUpdateBooks(dsRead,tableBookType,dr0); frm.Show(); bs = new BindingSource(dsRead, Table); private void bt_DB_findbook_Click(object sender, EventArgs e)/查询图?书酣 frmfindBooks fr = new frmfindBooks(dsRead); fr.Show(); private void bt_DB_exit_Click(object sender, EventArgs e) frmMain frm = new frmMain(user); frm.Show(); this.Close(); private void frmBookManage_Load(object sender, EventArgs e) /dgvReadManage的填充 SqlConnection sc = new SqlConnection (data source=(local);initial catalog=BMS;integrated security=true); sdaRead = new SqlDataAdapter(select * from Bookstore, sc); SqlCommandBuilder scb = new SqlCommandBuilder(sdaRead); dsRead = new DataSet(); sdaRead.Fill(dsRead); dgvReadManage.AutoGenerateColumns = false; dgvReadManage.DataSource = dsRead.Tables0; /获取书酣籍列表括 SqlDataAdapter sdrBookType = new SqlDataAdapter(select * from BooksType, sc); tableBookType = new DataTable(); sdrBookType.Fill(tableBookType); dgvReadManage.AutoGenerateColumns = false; dgvReadManage.DataSource = dsRead.Tables0.DefaultView; if (!TV_Bookstype.Nodes.ContainsKey(所有瓺书酣籍?) TreeNode root = new TreeNode(所有瓺书酣籍?); root.Name = 所有瓺书酣籍?; root.Tag = -1; TV_Bookstype.Nodes.Add(root); foreach (DataRow row in tableBookType.Rows) TreeNode tn = new TreeNode(rowname.ToString().Trim(); tn.Name = rowname.ToString().Trim(); tn.Tag = rowid.ToString(); if (!root.Nodes.ContainsKey(tn.Name) root.Nodes.Add(tn); TV_Bookstype.ExpandAll(); TV_Bookstype.HideSelection = false; TV_Bookstype.SelectedNode = TV_Bookstype.Nodes0; private void dgvReadManage_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) if (this.dgvReadManage.Rows.Count != 0) for (int i = 0; i this.dgvReadManage.Rows.Count; ) this.dgvReadManage.Rowsi.DefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(111, 222, 233); i += 2; ? 书籍类型的树状图(鼠标双击) private void TV_Bookstype_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) TreeNode clickedNode = e.Node; SqlConnection sc = new SqlConnection(data source=(local);initial catalog=BMS;integrated security=true); sdaRead = new SqlDataAdapter(select name from Bookstore where classNumber= + clickedNode.Tag.ToString() + , sc); DataSet ds = new DataSet(); sdaRead.Fill(ds); foreach (DataRow row in ds.Tables0.Rows) TreeNode tn = new TreeNode(rowname.ToString().Trim(); tn.Name = rowname.ToString().Trim(); tn.Tag = 0; if (!clickedNode.Nodes.ContainsKey(tn.Name) clickedNode.Nodes.Add(tn); private void TV_Bookstype_AfterSelect(object sender, TreeViewEventArgs e) if (e.Node.Tag.ToString() =-1) dsRead.Tables0.DefaultView.RowFilter = ; else dsRead.Tables0.DefaultView.RowFilter = classNumber= + e.Node.Tag.ToString() + ; private void btundistype_Click(object sender, EventArgs e) TV_Bookstype.Hide(); private void btdispalytype_Click(object sender, EventArgs e) TV_Bookstype.Show(); private void dgvReadManage_DoubleClick(object sender, EventArgs e) 添加书籍public partial class frmAddBooks : Form public frmBookManage frm1 = null; private SqlDataAdapter sda; private DataSet dsRead; private DataRow dr; private DataTable tableBookType; public frmAddBooks(DataSet _dsRead, DataRow _dr, SqlDataAdapter _sda, DataTable _tableBookType) InitializeComponent(); dsRead = _dsRead; dr = _dr; sda = _sda; tableBookType = _tableBookType; tbnZC.Text = 1; /tbpublish.Text = drname.ToString(); /tbnAddress.Text = draddress.ToString(); private void btnagain_Click(object sender, EventArgs e) if (tbbookid.Text = & tbname.Text = ) MessageBox.Show(请?您填?写完整?信?息, 系统?提示?); DataRow drRead = dsRead.Tables0.NewRow(); /if (opfpicture.FileName != ) / / Stream streamPhoto = opfpicture.OpenFile(); / byte bytePhoto = new bytestreamPhoto.Length; / streamPhoto.Read(bytePhoto, 0, bytePhoto.Length); / drReadphoto = bytePhoto; / drReadbookid = tbbookid.Text; drReadISBN = tbISBN.Text; drReadname = tbname.Text; drReadclassNumber = cbclassNum.SelectedValue; /drReadclassName = cbclassNum.SelectedValue; drReadwriter = btnwriter.Text; drReadprice = btnprice.Text; drReadpublishTime = DateTime.Now.ToString(); drReadenterTime = DateTime.Now.ToString(); drReadbatch = tbnZC.Text; drReadcontent = tbcontent.Text; drReadremarks = tbremarks.Text; drReadpage = tbpage.Text; drReadlanguage = tblanguage.Text; drReadpresent = tbgift.Text; drReadfindNum = cbclassNum.SelectedIndex + / + tbnZC.Text; drReadcount = tbcount.Text; drReadpublishing = tbpublish.Text; drReadpublishingaddress = tbnAddress.Text; dsRead.Tables0.Rows.Add(drRead); SqlConnection sc = new SqlConnection(data source=(local);initial catalog=BMS;integrated security=true); sc.Open(); SqlCommand scmd = new SqlCommand(select * from Bookstore where id= + tbbookid.Text.Trim() + , sc); SqlDataReader sdr = scmd.ExecuteReader(CommandBehavior.CloseConnection); bool userExist = sdr.HasRows; sdr.Close(); sc.Close(); if (userExist) MessageBox.Show(此?书酣号?名?已?存?在!?请?您重?新?输?入?!?,系统?提示?); return; MessageBox.Show(添加成功|,系统?提示?); sda.Update(dsRead); dsRead.AcceptChanges(); MessageBox.Show(保馈存?成功|!?); private void frmAddBooks_Load(object sender, EventArgs e) cbclassNum.DataSource = tableBookType; cbclassNum.DisplayMember = name; cbclassNum.ValueMember = id; private void btADD_Click(object sender, EventArgs e) /frmpublish frm = new frmpublish(); /frm.Show(); private void btnquit_Click(object sender, EventArgs e) this.Close(); private void btnsave_Click(object sender, EventArgs e) sda.Update(dsRead); dsRead.AcceptChanges(); MessageBox.Show(保馈存?成功|!?); this.Close(); 修改书籍 public partial class frmUpdateBooks : Form private DataTable tableBookType; private DataSet dsRead; private DataRow dr; /private BindingSource bs; public frmUpdateBooks(DataSet _dsRead,DataTable _tableBookType,DataRow _dr) InitializeComponent(); tableBookType = _tableBookType; dsRead = _dsRead; dr = _dr; tbbookid.Text = drbookid.ToString(); tbISBN.Text = drISBN.ToString(); tbname.Text

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论