您好,欢迎访问三七文档
商品库存管理系统•功能:1.提供仓库各类信息的浏览、添加、删除、修改等操作。2.可以进行入库出库等操作,并保证安全性。3.可以进行日志管理,方便事后查看。4.系统其他的相关功能。首先进行系统分析:本系统主要模块有4个:商品管理模块、商家管理模块、入库信息管理模块、出库信息管理模块。下面分别对这四个模块进行介绍:•商品管理模块仓库管理员通过此模块来管理商品信息,主要包括浏览、查询、添加、修改和删除功能。在进行商品信息的添加时系统会自动检测所添加的商品信息中的商品号在商品表中是否已经存在,存在则提示,否则进行添加。删除时要进行确认方可进行信息删除。修改时,商品的商品号是不可以修改的,因为商品号作为数据库中商品表的主键是不同商品的唯一标识(可以通过数据库管理员实现修改)。2、商家管理模块仓库管理员通过此模块来管理商家信息,包括浏览、查询、添加、修改和删除等。进行商家信息添加时系统自动检测所添加的商家是否已经存在,存在则提示,否则继续添加。删除时也需确认才可删除,商家号不准修改。3、入库信息管理模块仓库管理员通过此模块来管理入库信息,包括浏览、查询、添加、修改和删除功能。在进行入库信息添加时,系统自动检测所添加信息是否在商品表里是否已经存在。存在则提示,否则继续添加。其他基本功能和前面类似。4、出库信息管理模块仓库管理员通过此模块进行出库操作。选择相应的商品,系统自动显示被选择的商品的数量。若出库量大于当前商品数量,则操作不能完成。下面介绍程序的实现•本例用VisualC++6.0创建一个基于对话框的MFCAppWizard(exe)项目。项目名为GMS。•创建项目后,VisualC++呈现给使用者的是一个CGMSDlg对话框,本例的登录界面其实就是在这个对话框的基础上开始设计的。登录对话框•把生成的应用系统框架中的基本对话框IDD_GMS_DIALOG作为应用系统的登录界面加以制作。1、删除无关控件2、界面设计如右图:控件类型ID属性设置Picture默认BitMapButtonIDC_BUTTON_OKCaption设为“确定”ButtonIDC_BUTTON_CANCELCaption设为“取消”StaticText默认Caption设为“用户名”StaticText默认Caption设为“密码”EditBoxIDC_EDTI_LOGINNAME默认EditBoxIDC_EDIT_PASSWDPassword按上表添加控件,然后双击对话框,打开ClassWizard,为IDD_GMS_DIALOG添加CGMSDlg类(系统已添加),然后按照下表添加成员变量:控件ID变量类数据类型IDC_EDIT_LOGINNAMEm_strLoginNameCStringIDC_EdIT_PASSWDm_strPasswdCString•代码编写1.“确定”按钮单击“确定”按钮,验证用户名和密码的有效性,成功则进入主界面:•voidCGMSDlg::OnButtonOk()•{•CStringstrSql;•_variant_tstrQuery;•UpdateData(TRUE);•if(m_strName.IsEmpty())/*判断用户名信息是否为空*/•{•AfxMessageBox(请输入用户名!);•return;•}•strQuery=SELECT*FROMadminWHEREAdmin_name='+m_strName+'ANDAdmin_passwd='+m_strPasswd+';•theApp.ADOExecute(theApp.m_pRs,strQuery);•intiCount=theApp.m_pRs-GetRecordCount();•if(0==iCount)•{•AfxMessageBox(用户名或密码错误!);•m_strName=;•m_strPasswd=;•UpdateData(false);••}•else•{•strAdminName=m_strName;•::Sleep(300);•OnOK();•CMainDlgdlg;•dlg.DoModal();•}•//TODO:Addyourcontrolnotificationhandlercodehere•}2.“取消”按钮单击“取消”按钮则关闭登录对话框,不做任何操作:•voidCGMSDlg::OnButtonCancel()•{•OnCancel();•//TODO:Addyourcontrolnotificationhandlercodehere••}主界面的实现•功能:当登录成功后,将出现应用程序主界面。因为主界面需要集合其他各个模块,所以一般编程时都是每坐完一个模块,就连接上一块。•界面设计如下图:对话框ID属性设置为:IDD_DIALOG_MAIN•按照右图添加控件添加完控件后,双击对话框资源,打开ClassWizard,为IDD_DIALOG_MAIN添加CMainDlg类。•代码编写:“库存商品”按钮:voidCMainDlg::OnButtonGoodsadd()•{•CGoodsDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•}•“供货商家”按钮:•voidCMainDlg::OnButtonProvideradd()•{•CProviderDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•}•“商品入库”按钮:•voidCMainDlg::OnButtonGoodsin()•{CInDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•}•“商品出库”按钮:•voidCMainDlg::OnButtonGoodsout()•{•COutDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•//TODO:Addyourcontrolnotificationhandlercodehere••}•“商品信息”按钮:•voidCMainDlg::OnButtonGoods()•{CViewDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.Init(1);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•}•“商家信息”按钮:•voidCMainDlg::OnButtonProvider()•{•CViewDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.Init(2);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•//TODO:Addyourcontrolnotificationhandlercodehere••}•“入库信息”按钮:•voidCMainDlg::OnButtonIn()•{CViewDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.Init(3);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•}•“出库信息”按钮:•voidCMainDlg::OnButtonOut()•{•CViewDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.Init(3);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•//TODO:Addyourcontrolnotificationhandlercodehere••}•“库存报警”按钮:•voidCMainDlg::OnButtonAlert()•{CAlertDlgdlg;•dlg.DoModal();•}•“修改管理员密码”按钮:•voidCMainDlg::OnButtonAdmin()•{CPasswdDlgdlg;•dlg.DoModal();•}•“操作日志”按钮:•voidCMainDlg::OnButtonLog()•{•CViewDlgdlg;•this-ShowWindow(SW_HIDE);•dlg.Init(5);•dlg.DoModal();•this-ShowWindow(SW_SHOW);•//TODO:Addyourcontrolnotificationhandlercodehere••}•“帮助”按钮(读者可以自行添加帮助文档):•voidCMainDlg::OnButtonHelp()•{WinExec(notepad.exeGPS.HEP,SW_SHOW);•}•“关于”按钮:•voidCMainDlg::OnButtonAbout()•{CAboutDlgdlg;•dlg.DoModal();•}•“退出”按钮(可以用OnCancel代替):•voidCMainDlg::OnButtonExit()•{•OnOK();•//TODO:Addyourcontrolnotificationhandlercodehere••}•商品操作对话框•1、功能描述在主界面上单击“库存商品”按钮,弹出此对话框。该对话框用于商品的注册登记,同时也可以进行相应的数据库操作。对话框ID属性设置为:IDD_DIALOG_GOODS。按下图添加控件:•按图添加完控件后,双击对话框资源,打开ClassWizard,为IDD_DIALOG_GOODS添加CGoodsDlg类,并按照下表为该类添加成员变量。控件ID变量名数据类型IDC_EDIT_CODEm_strCodeCStringIDC_EDIT_NAMEm_strNameCStringIDC_EDIT_MAXNUMm_strMaxNumCStringIDC_EDIT_MINNUMm_strMinNumCStringIDC_LIST_DISPm_listDispCListCtrl代码编写:ClearTxt——清空编辑框中的内容:voidCGoodsDlg::ClearTxt(){m_strCode=;m_strName=;m_strMaxNum=;m_strMinNum=;UpdateData(false);}•RefreshData——向列表控件填充数据:•voidCGoodsDlg::RefreshData()•{m_listDisp.DeleteAllItems();•m_listDisp.SetRedraw(FALSE);•_variant_tHolder,strQuery;•strQuery=select*fromgoods;•theApp.ADOExecute(theApp.m_pRs,strQuery);•intiCount=theApp.m_pRs-GetRecordCount();•if(0==iCount)•return;•theApp.m_pRs-MoveFirst();•inti=0;•while(!theApp.m_pRs-adoEOF)•{Holder=theApp.m_pRs-GetCollect(G_code);•if(Holder.vt!=VT_NULL)•m_listDisp.InsertItem(i,(char*)(_bstr_t)Holder);•Holder=theApp.m_pRs-GetCollect(G_name);•if(Holder.vt!=VT_NULL)•m_listDisp.SetItemText(i,1,(char*)(_bstr_t)Holder);•Holder=theApp.m_pRs-GetCollect(Current_number);•if(Holder.v
本文标题:商品库存管理系统
链接地址:https://www.777doc.com/doc-1305740 .html