图书管理系统结题报告.docx
《图书管理系统结题报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统结题报告.docx(48页珍藏版)》请在冰豆网上搜索。
图书管理系统结题报告
**学院
计算机科学系
实训项目结题报告
项目名称图书管理系统
课程名称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、用户增加
详细设计
登陆:
主界面:
实现,图书管理,用户管理,图书借阅,图书归还,修改用户密码等界面的跳转
借阅书籍:
先查询读者的信息,
再根据读者额的相关信息做图书的借阅:
读者信息:
图书借阅:
privatevoidbutton1_Click(objectsender,EventArgse)
{
StringBuilderbuilder=newStringBuilder();
builder.Append("select*fromBookstorewherebookidlike'"+tbbooksid.Text.ToString().Trim()+"'");
dgvBooksINfor.AutoGenerateColumns=false;
SqlConnectionsc1=newSqlConnection("datasource=(local);initialcatalog=BMS;integratedsecurity=true");
SqlDataAdaptersda1=newSqlDataAdapter(builder.ToString(),sc1);
dsbook=newDataSet();
sda1.Fill(dsbook);
bsbook=newBindingSource(dsbook,"Table");
//renovate();
if(tbname.Text=="")
{
MessageBox.Show("请?
先è选?
择?
读á者?
,?
然?
后ó再ù增?
加ó图?
书酣?
");
return;
}
if(tbbooksid.Text=="")
{
MessageBox.Show("请?
选?
择?
图?
书酣?
","系μ统?
提示?
");
return;
}
//手?
动ˉ添加ó行D
bsbook=newBindingSource(dsbook,"Table");
DataRowViewdrv=(DataRowView)bsbook.Current;
if(Convert.ToInt32(drv["count"])<1)//判断是否能够借出
{
MessageBox.Show("图书酣库存不足,暂时骸不能借è出!
","系统提示");
return;
}
if(tbrentnum.Text.ToString()=="0")//根据当獭前用户判断用户的可借本数簓
{
MessageBox.Show("当獭前用户的可借本数簓达到最大洙值","系统提示");
return;
}
DataGridViewRowrow=newDataGridViewRow();
DataGridViewCheckBoxCellcb1=newDataGridViewCheckBoxCell();
cb1.Value=false;
row.Cells.Add(cb1);
DataGridViewTextBoxCelltb2=newDataGridViewTextBoxCell();
tb2.Value=drv["bookid"].ToString();
row.Cells.Add(tb2);
DataGridViewTextBoxCelltb3=newDataGridViewTextBoxCell();
tb3.Value=drv["name"].ToString();
row.Cells.Add(tb3);
DataGridViewTextBoxCelltb4=newDataGridViewTextBoxCell();
tb4.Value=drv["ISBN"].ToString();
row.Cells.Add(tb4);
DataGridViewTextBoxCelltb5=newDataGridViewTextBoxCell();
tb5.Value=drv["className"].ToString();
row.Cells.Add(tb5);
DataGridViewTextBoxCelltb6=newDataGridViewTextBoxCell();
tb6.Value=DateTime.Now.ToLongDateString();
row.Cells.Add(tb6);
DataGridViewTextBoxCelltb7=newDataGridViewTextBoxCell();
tb7.Value=DateTime.Now.AddDays(Convert.ToInt32(tbrentTime.Text.Trim()));
row.Cells.Add(tb7);
DataGridViewTextBoxCelltb_8=newDataGridViewTextBoxCell();
tb_8.Value=drv["price"].ToString();
row.Cells.Add(tb_8);
dgvBooksINfor.Rows.Add(row);
drv["count"]=Convert.ToInt32(drv["count"])-1;//count--;
}
图书归还:
图书借阅情况查询:
privatevoidbtnfindid_Click(objectsender,EventArgse)
{
tbid.Clear();
tbname.Clear();
tbreadtype.Clear();
tbtype.Clear();
dgvBooksINfor.Rows.Clear();
StringBuilderbuilder=newStringBuilder();
builder.Append("select*fromReaderswhereidlike'"+tbreadid.Text.ToString().Trim()+"'oridlike'%"+tbreadid.Text.ToString().Trim()+"%'");
dgvBooksINfor.AutoGenerateColumns=false;
SqlConnectionsc=newSqlConnection("datasource=(local);initialcatalog=BMS;integratedsecurity=true");
SqlDataAdaptersda=newSqlDataAdapter(builder.ToString(),sc);
dsRead=newDataSet();
sda.Fill(dsRead);
bsread=newBindingSource(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();
StringBuilderbuilder1=newStringBuilder();
builder1.Append("select*fromBorrowBookswherereadIdlike'"+tbreadid.Text.ToString().Trim()+"'orderbyborrowTimeasc");//orderbyborrowTimeasc
dgvBooksINfor.AutoGenerateColumns=false;
SqlConnectionsc2=newSqlConnection("datasource=(local);initialcatalog=BMS;integratedsecurity=true");
SqlDataAdaptersda1=newSqlDataAdapter(builder1.ToString(),sc2);
dsbook=newDataSet();
sda1.Fill(dsbook);
图书借阅归还:
privatevoidbtreturnbooks_Click(objectsender,EventArgse)
{
if(tbtype.Text=="挂骸||tbtype.Text=="冻结á")
{
MessageBox.Show("读者已经-"+tbtype.Text+",不能进行归还","系统提示?
");
return;
}
foreach(DataGridViewRowrowindgvBooksINfor.Rows)
{
//DataGridViewCheckBoxCellcb=(DataGridViewCheckBoxCell)row.Cells[0];
if(row.Cells[0]!
=null&&Convert.ToBoolean(row.Cells[0].Value)==true)
{
//数簓据Y库a中D的?
已?
连?
接ó问ê题琣的?
编括写′
SqlConnectionscinsert=newSqlConnection("datasource=(local);initialcatalog=BMS;integratedsecurity=true");
scinsert.Open();
SqlCommandscmdinsert=newSqlCommand("updateBookstoresetcount=count+1wherebookid='"+row.Cells[1].Value.ToString()+"'",scinsert);
scmdinsert.ExecuteNonQuery();
scinsert.Close();
}
MessageBox.Show("归还成é功!
","系统提示");
}
}
书籍管理:
修改书籍、添加书籍、删除书籍、查询书籍、书籍类型的树状图
privatevoidbt_DB_addbook_Click(objectsender,EventArgse)//增?
加ó图?
书酣
{
frmAddBooksfrm=newfrmAddBooks(dsRead,dr,sdaRead,tableBookType);
frm.Show();
}
privatevoidbt_DB_deletebook_Click(objectsender,EventArgse)//删?
除y图?
书酣
{
if(dgvReadManage.SelectedRows.Count==0)
{
//return;
MessageBox.Show("请?
您ú选?
择?
要癮删?
除y的?
行D再ù进?
行D操ù作痢!
?
","系μ统?
提示?
");
}
for(inti=0;i{
this.dgvReadManage.Rows.Remove(this.dgvReadManage.SelectedRows[i]);
}
sdaRead.Update(dsRead);
dsRead.AcceptChanges();
MessageBox.Show("保馈存?
成é功|!
?
","系μ统?
提示?
");
}
privatevoidbt_DB_updatebook_Click(objectsender,EventArgse)//修T改?
图?
书酣
{
if(dgvReadManage.SelectedRows.Count==0)
{
MessageBox.Show("请?
选?
中D要癮修T改?
的?
行D后ó在ú进?
行D修T改?
!
?
");
return;
}
DataGridViewRowdgvrow=dgvReadManage.SelectedRows[0];
stringid1=dgvrow.Cells[1].Value.ToString().Trim();
DataRow[]dr=dsRead.Tables[0].Select("bookid='"+id1+"'");
frmUpdateBooksfrm=newfrmUpdateBooks(dsRead,tableBookType,dr[0]);
frm.Show();
bs=newBindingSource(dsRead,"Table");
}
privatevoidbt_DB_findbook_Click(objectsender,EventArgse)//查é询ˉ图?
书酣
{
frmfindBooksfr=newfrmfindBooks(dsRead);
fr.Show();
}
privatevoidbt_DB_exit_Click(objectsender,EventArgse)
{
frmMainfrm=newfrmMain(user);
frm.Show();
this.Close();
}
privatevoidfrmBookManage_Load(objectsender,EventArgse)
{
//dgvReadManage的填充
SqlConnectionsc=newSqlConnection
("datasource=(local);initialcatalog=BMS;integratedsecurity=true");
sdaRead=newSqlDataAdapter("select*fromBookstore",sc);
SqlCommandBuilderscb=newSqlCommandBuilder(sdaRead);
dsRead=newDataSet();
sdaRead.Fill(dsRead);
dgvReadManage.AutoGenerateColumns=false;
dgvReadManage.DataSource=dsRead.Tables[0];
//获取书酣籍列表括
SqlDataAdaptersdrBookType=newSqlDataAdapter("select*fromBooksType",sc);
tableBookType=newDataTable();
sdrBookType.Fill(tableBookType);
dgvReadManage.AutoGenerateColumns=false;
dgvReadManage.DataSource=dsRead.Tables[0].DefaultView;
if(!
TV_Bookstype.Nodes.ContainsKey("所ù有瓺书酣籍?
"))
{
TreeNoderoot=newTreeNode("所ù有瓺书酣籍?
");
root.Name="所ù有瓺书酣籍?
";
root.Tag="-1";
TV_Bookstype.Nodes.Add(root);
foreach(DataRowrowintableBookType.Rows)
{
TreeNodetn=newTreeNode(row["name"].ToString().Trim());
tn.Name=row["name"].ToString().Trim();
tn.Tag=row["id"].ToString();
if(!
root.Nodes.ContainsKey(tn.Name))
{
root.Nodes.Add(tn);
}
}
TV_Bookstype.ExpandAll();
TV_Bookstype.HideSelection=false;
TV_Bookstype.SelectedNode=TV_Bookstype.Nodes[0];
}
}
privatevoiddgvReadManage_DataBindingComplete(objectsender,DataGridViewBindingCompleteEventArgse)
{
if(this.dgvReadManage.Rows.Count!
=0)
{
for(inti=0;i{
this.dgvReadManage.Rows[i].DefaultCellStyle.BackColor=System.Drawing.Color.FromArgb(111,222,233);i+=2;
}
} ?
}
书籍类型的树状图(鼠标双击)
privatevoidTV_Bookstype_NodeMouseDoubleClick(objectsender,TreeNodeMouseClickEventArgse)
{
TreeNodeclickedNode=e.Node;
SqlConnectionsc=newSqlConnection("datasource=(local);initialcatalog=BMS;integratedsecurity=true");
sdaRead=newSqlDataAdapter("selectnamefromBookstorewhereclassNumber='"+clickedNode.Tag.ToString()+"'",sc);
DataSetds=newDataSet();
sdaRead.Fill(ds);
foreach(DataRowrowinds.Tables[0].Rows)
{
TreeNodetn=newTreeNode(row["name"].ToString().Trim());
tn.Name=row["name"].ToString().Trim();
tn.Tag="0";
if(!
clickedNode.Nodes.ContainsKey(tn.Name))
{
clickedNode.Nodes.Add(tn);
}
}
}
privatevoidTV_Bookstype_AfterSelect(objectsender,TreeViewEventArgse)
{
if(e.Node.Tag.ToString()=="-1")
{
dsRead.Tables[0].DefaultView.RowFilter="";
}
else
{
dsRead.Tables[0].DefaultView.RowFilter="classNumbe