图书库存管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

一、需求与功能分析 2

二、系统总体框架 2

三、逻辑设计 3

四、类的设计与分析 7

五、数据库表结构设计 9

六、特色算法分析 9

七、功能测试 11

八、存在的不足与对策 13

九、使用说明 13

十、程序源代码 14

一.需求与功能分析

本系统为图书库存管理系统。其主要功能为让用户实现对图书库存的管理,包括查询图书信息,添加新的图书,更新图书信息,删除旧的图书。具体功能如下:查询图书信息:使用此功能,用户可以查看到所查图书的全部信息,包括图书编号,图书名字,图书作者姓名,库存量。

添加新的图书:使用此功能,用户可以向库存中插入新的图书,即向数据库中插入新的元组,包括输入图书编号,图书名字,图书作者姓名,库存量。

更新图书信息:使用此功能,用户可以对图书的信息进行更新,即更新图书名字,图书作者姓名,库存量。

删除旧的图书:使用此功能,用户可以删除旧的图书,该图书所在的元组将整个都被删除。

二、系统总体框架

三.逻辑设计

1.登陆系统

类图:

在该模块中,定义一个Ontijiao()函数来实现登陆进入图书库存管理系统。其中登陆账号:admin,登陆密码:admin。具体代码如下:

void Clogin::Ontijiao()

{

// TODO: Add your control notification handler code here

CString id,no;

CString str="admin";

m_id.GetWindowText(id);

m_no.GetWindowText(no);

if (pare(str)==0&&pare(str)==0)

{

Cchaxun dilog=new Cchaxun;

dilog.DoModal();

}

}

2.查询图书信息

类图:

在该模块中,定义一个Onselect()函数来实现对数据库中元组的查询,即查询图书信息.具体的代码如下:

void Cchaxun::Onselect()

{

if(sql.m_db.IsOpen())

{

sql.m_db.Close();

}

CString strnum,vSQL,vSQL1,strname,strat,strrem,j,k;

int i;

j=m_result.GetItemCount();

if(j>=1)

{

m_result.DeleteAllItems();

}

m_num1.GetWindowText(strnum);

vSQL="DRIVER={SQL Server};SERVER=(local);Database=StuCou;UID=sa;PWD=";

k=m_result.GetHeaderCtrl()->GetItemCount();

if(k<4)

{

m_result.InsertColumn(0,"图书编号");m_result.InsertColumn(1,"图书名称");m_result.InsertColumn(2,"作者");m_result.InsertColumn(3,"库存量");

m_result.SetColumnWidth(0,100);m_result.SetColumnWidth(1,120);m_result.Se tColumnWidth(2,110);m_result.SetColumnWidth(3,120);

}

sql.m_db.OpenEx(vSQL,0);

sql.rs.m_pDatabase=&sql.m_db;

vSQL1="select * from book where num='"+strnum+"'";

sql.rs.Open(CRecordset::snapshot, vSQL1, CRecordset::readOnly);

while(!sql.rs.IsEOF())

{

i=0;

sql.rs.GetFieldValue("num",strnum);

m_result.InsertItem(i,strnum);

sql.rs.GetFieldValue("bname",strname);

m_result.SetItemText(i,1,strname);

sql.rs.GetFieldValue("author",strat);

m_result.SetItemText(i,2,strat);

sql.rs.GetFieldValue("remain",strrem);

m_result.SetItemText(i,3,strrem);

sql.rs.MoveNext();

i++;

}

sql.rs.Close();

}

3.添加新的图书

类图:

在该模块中,定义一个Onadd()函数来实现向数据库中添加新的元组,即添加新的图书信息,包括图书编号,图书名字,作者名字,以及库存量.具体代码如下:

void Cchaxun::Onadd()

{

// TODO: Add your control notification handler code here

UpdateData(true);

CString strnum2,strname2,strat2,strrem2,vSQL2;

CString add,check;

m_num2.GetWindowText(strnum2);

m_name2.GetWindowText(strname2);

m_author2.GetWindowText(strat2);

m_remain2.GetWindowText(strrem2);

if(sql2.m_db.IsOpen())

{

sql2.m_db.Close();

}

vSQL2="DRIVER={SQL Server};SERVER=(local);Database=StuCou;UID=sa;PWD=";

sql2.m_db.OpenEx(vSQL2,0);

sql2.rs.m_pDatabase=&sql2.m_db;

sql2.rs.Close();

add="insert into book values('"+strnum2+"','"+strname2+"','"+strat2+"','"+strrem2+"')";

sql2.m_db.ExecuteSQL(add);

if(sql2.m_db.CanUpdate())

{

AfxMessageBox("添加成功");

}

}

4. 更新图书信息

类图:

相关文档
最新文档