欢迎光临第一论文网,权威的论文发表,我们将竭诚为您服务!
您的位置: 第一论文网 -> 计算机应用论文 -> 文章内容

基于VC的图书管理系统的设计与实现

作者:admin 更新时间:2018年08月18日 15:32:22

  摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。图书管理系统作为管理信息系统的一种,成为图书馆进行现代化图书管理和进行信息服务的基础。针对图书管理系统的特点,对图书管理系统进行了设计,并在VC环境下,结合SQLserver2000实现该系统。同时通过保障数据一致性、完整性和数据安全性,使得该系统具有功能完备、交互性好、界面友好等特点。


  关键词:图书管理;数据一致性;SQL;


  作者:娄家星


  基于VC的图书管理系统的设计与实现


  随着图书市场竞争愈演愈烈,传统的图书管理模式已经不再适应当今的需求。如何以一种新的管理方式提高图书流通信息的反馈速度,提高工作效率,已经成为当今图书行业亟待解决的一个问题。信息技术的发展给图书企业的管理带来了活力,通过图书管理系统对图书市场经营运作的全程管理,不仅使企业摆脱了人工管理带来的一系列问题,而且提高了工作效率,进而提高了企业的经济效益。通过图书管理系统对图书市场的管理,为市场提高竞争力提供了大量的、关键的数据,而市场根据这些数据及时做出决策,进行调整,使之能更好地把握市场的销售规律,适应市场变化,在激烈的行业竞争中取得一席之地。


  1系统设计


  1.1图书管理系统的需求分析


  通过对图书销售管理过程的研究与分析,在设计时系统应实现的目标有:实现图书的入库、出库管理;实现图书的库存盘点管理;实现图书的定价、调价管理;实现图书的销售管理;实现图书的查询管理。


  该系统立足于图书市场实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书销售企业的现代化管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。图1为图书管理系统结构图。


  该系统主要有5个部分:基础信息管理部分、库存管理部分、价格管理部分、销售管理部分和查询管理部分。图书的入库、退货、调拨等操作在库存管理部分实现,以方便对图书库存情况的管理。为了方便操作,我们将图书销售中的各种基本信息汇集在一起,在基础信息管理部分进行。还可以进行对操作员、图书、图书种类、供应商、仓库、柜台等这些基础信息的修改、删除和增加。对于以往的出入库和销售情况,通过查询管理部分实现,这也可以帮助企业及时了解市场动态,改变经营策略。


  1.2数据库设计


  本文的图书管理系统根据系统功能设计的要求以及功能模块的划分,数据库逻辑结构设计图如图2所示。考虑到整个系统的灵活性和安全性,本系统采用MicrosoftSQLServer2000数据库,数据库名称为BookManage。数据通信接口采用ADO(ActiveXDataObject),ADO是微软推出的新一代数据访问技术,其使用简便且功能强大,目前有着广泛的应用,有易于使用、速度快、内存支出少和磁盘痕迹小的优点。


  2具体设计方法


  2.1主窗体设计


  图书管理系统主界面由菜单和客户区域两部分组成,其中菜单采用了一个特色菜单,其设计是从CMenu类派生了一个类CMyCoolMenu,并改写了父类的DrawItem、MeasureItem方法,重新绘制菜单。


  2.2系统登录程序设计


  为了防止非法用户进入系统,程序中设计了一个系统登录窗口。在程序启动时,首先显示登录窗口,进行用户身份验证;如果用户输入的用户名和密码不正确,将禁止进入系统。新建类名为“CDlgLogin”的窗口,在类中添加“OnOK”方法,以防止按Enter键调用父类的OnOK方法关闭窗口。


  在窗口中删除按钮,添加2个编辑框资源、2个静态文本资源、2个按钮资源、2个图像资源。设置的主要资源属性如表1所示。


  表1主要资源属性表下载原表


  表1主要资源属性表


  身份验证过程需要先判断用户名和密码是否为空,若为空则提示输入,否则再输入库中查询数据,有数据返回,则身份合法;反之,不合法。关键的代码如下:


  if(m_pRs->RecordCount>0)//通过身份验证


  EndDialog(0);//关闭登录窗口进入主窗口}


  MessageBox(“用户名或密码不正确.”,“提示”,64);


  return;}


  2.3基本信息管理设计


  基本信息管理部分由操作员管理、图书信息管理、供应商信息管理、图书种类管理、仓库信息管理、柜台信息管理6个部分组成,是图书管理系统的主体信息输入部分。这部分的设计思路是:将所有信息的管理集中在一个窗口中进行,各部分分别放置在不同选项卡中,同时共用增加、删除、修改和退出按钮,方便操作。


  2.3.1操作员管理程序设计


  操作员管理主要实现操作员信息的添加、修改和删除功能。在删除操作员信息时,不能删除所有的操作员,否则无法进入系统。


  创建类名为“CDlgOperator1”的窗口,删除默认包含的两个按钮。在属性窗口中的Styles设置TitleBar为非选中状态,取消窗口标题栏。在窗口中放置3个静态文本、2个编辑资源、1个组合框资源、1个列表资源。


  voidCDlgOperator1::LoadOperatorInfo(){……


  while(!m_pRs->adoEOF)//利用循环语句项列表中添加数据


  {m_list.InsertItem(100,“”);


  for(intindex=0;index<m_pRs->Fields->Count;index++)


  {itemtext=(TCHAR*)(_bstr_t)


  m_pRs->GetFields()->GetItem((long)index)->Value;


  m_list.SetItemText(row,index,itemtext);}……}


  利用函数LoadOperatorInfo()夹在操作员信息。在串口初始化时,调用该函数将所有操作员信息添加到列表中。


  2.3.2图书信息管理程序设计


  图书信息管理主要实现图书信息的添加、修改和删除功能。为了方便用户操作,程序利用表格显示所有的图书信息。用户在添加一种图书信息后,该图书会显示在表格中。若想要修改信息,可以在表格中双击并修改后单击“修改”按钮,完成修改;若想删除,则单击“删除”按钮,确认系统提示后完成删除操作。


  设计步骤:图书信息管理程序的设计步骤与操作员程序的设计步骤基本相同,只是最后在窗口中添加的资源为6个静态文本、7个编辑框资源、1个组合框资源、1个列表视图资源、1个群组框资源。


  函数AddBookInfo()用于执行图书信息添加操作:首先调用InfoIsnull()确定图书信息是否为空,然后调用BarcodeIsExist()函数判断条形码是否存在,最后利用SQL语句将数据保存到数据表中。


  voidCDlgBookInfo1::AddBookInfo(){


  if(InfoIsNull())//判断图书信息是否为空


  {MessageBox(“图书信息不能为空.”,“提示”,MB_OK|MB_ICONINFORMATION);


  return;}


  ……


  CStringc_name,c_shortname,c_author,c_press,c_price,c_memo,c_kinds;//获取图书信息


  m_bookname.GetWindowText(c_name);


  m_shortcode.GetWindowText(c_shortname);


  m_author.GetWindowText(c_author);


  m_public.GetWindowText(c_press);


  m_price.GetWindowText(c_price);


  m_memo.GetWindowText(c_memo);


  m_kinds.GetWindowText(c_kinds);


  CStringsql;//设置查询语句


  sql.Format(“Insertintotb_bookinfovalues(‘%s’,‘%s’,‘%s’,‘%s’,‘%s’,%f,‘%s’,‘%s’)”,c_name,c_shortname,c_barcode,c_author,c_press,atof(c_price),c_memo,c_kinds);


  try


  {m_pRs->raw_Close();


  m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);


  MessageBox(“操作成功.”,“提示”,MB_OK|MB_ICONINFORMATION);


  ClearInterface();


  LoadBookInfo();}


  ……}


  2.4查询管理设计


  查询管理部分由入库查询、入库退货查询、销售查询、销售退货查询4个部分组成,是图书管理系统的信息查询、信息输出部分。这部分的设计思路是:将所有信息的管理集中在一个窗口中进行,各部分分别放置在一个不同选项卡中,同时共用查询、取消和打印按钮,方便操作。


  图书销售查询主要是完成图书销售信息的统计和排行。决策者可根据图书的销售情况,制订采购计划。其设计思路为:使用函数Query()用于执行查询操作。该函数首先检查查询条件,然后根据查询条件设置SQL语句,最后执行SQL语句查询数据,并将查询到的数据显示在表格中。查询条件分两类:一是销售的时间段;二是图书信息,如书籍名、作者、条形码、出版社。


  3结语


  本系统的维护主要包括权限维护和图书管理的一致性更新操作。一方面,管理员需要对操作员的用户名、密码和权限进行维护,给每位操作员分配享用的用户名和密码,确定操作级别。另一方面,图书信息需要经常进行更新,同时及时更新图书的入库、退货、销售、调拨的信息。


  通过开发与调试,本系统得到了理想的效果,各方面功能较为完善,各模块之间的联系条理清楚,链接明确。