ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:76.40KB ,
资源ID:12024846      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12024846.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(整理药品进销存系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

整理药品进销存系统.docx

1、整理药品进销存系统药品进销存系统 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(药品进销存系统)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为药品进销存系统的全部内容。 药品进销存系统需求分析:设计药品进销存系统并分为六个功能模块.主要用来管理一个小型的药品销售公司。主要有药品的入库、出库,供货商的管理,客户管理以及必要

2、的库存检索。系统用orcal管理数据库,通过MFC实现软件界面可视化,通过函数连接数据库,实现对数据库的基本操作,下面具体分析每个功能模块:药品清单:可以建立一张表用于存放药品相关信息。药品的相关信息包括:货号、药品名称、类型、进价、售价、生产日期以及有效期至。可以添加一条记录到药品清单中,也可以删除一条记录,也可以显示药品清单中所有的记录项,实现对这张表的简单管理。供货商清单:可以建立一张表存放供货商的相关信息。供货商清单的相关数据项包括:供货商号、供货商名称、供货商地点、联系电话。可以添加一条记录到供货商清单表中,也可以删除掉一条记录,也可以显示供货商清单中的所有记录,实现对供货商信息的简

3、单管理。客户清单:可以建立一张表存放客户的相关信息。客户清单的相关数据项包括:客户编号、客户名称、地点、电话。可以添加一条记录到客户清单表中,也可以删除掉一条记录,也可以显示客户清单中的所有记录,实现对客户信息的简单管理.进货单:当有药品入库时,进货单中要增加一条相关记录,以记录药品入库信息。进货单包括的数据项有:编号、供货商号、货号、仓库、进货数量以及进货日期,进货单中可以增加上一条记录,但是不可以删除一条记录,可以显示进货单中的所有记录,实现对进货单的相关管理. 售货单:当有药品出库时,售货单中要增加一条相关记录,以记录药品出库信息。售货单包括的数据项有:编号、客户编号、货号、仓库、销售数

4、量以及销售日期,售货单中可以增加上一条记录,但是不可以删除一条记录,可以显示售货单中的所有记录,实现对售货单的相关管理.库存库: 当有药品入库时,库存库要增加相关记录或修改相关记录,当有药品出库时,库存库要修改相关记录或当出库不成功时给出相关警告信息。库存库包括以下数据项:货号、仓库、库存数量、库存单价、库存金额。概念结构设计:实体间E_R图关系模型:(带下划线的表示表的主键)药品清单(货号,药品名称,类型,进价,售价,生产日期,有效期至)供货商清单(供货商号,供货商名称,供货商地点,联系电话)客户清单(客户编码,客户简称,地址,电话)进货单(编号,供货商号,货号,仓库,进货数量,进货日期)售

5、货单(编号,客户编号,货号,仓库,销售数量,销售日期)库存库(货号,仓库,库存数量,库存单价,库存金额)建表:增加药品清单表create table 药品清单( 货号 varchar(15), 药品名称 varchar(20), 类型 varchar(6), 进价 number(3,1), 售价 number(3,1), 生产日期 date, 有效期至 date, constraint PK_药品清单 primary key (货号));增加供货商清单表create table 供货商清单( 供货商号 varchar(15), 供货商名称 varchar(20), 供货商地点 varchar(

6、20), 联系电话 varchar(15), constraint PK_供货商清单 primary key(供货商号));增加客户清单表create table 客户清单( 客户编码 varchar(15), 客户简称 varchar(15), 地址 varchar(15), 电话 varchar(15), constraint PK_客户清单 PRIMARY KEY (客户编码));增加进货单表create table 进货单( 编号 varchar(15), 供货商号 varchar(20), 货号 varchar(20), 仓库 varchar(10), 进货数量 number(5),

7、check(进货数量=0), 进货日期 date, constraint PK_进货单 PRIMARY KEY (编号), constraint FK_进货单_To_药品清单 FOREIGN KEY (货号) REFERENCES 药品清单(货号), constraint FK_进货单_To_供销商清单 FOREIGN KEY (供货商号) REFERENCES 供货商清单(供货商号));增加售货单表create table 售货单( 编号 varchar(15), 客户编号 varchar(20), 货号 varchar(15), 仓库 varchar(10), 销售数量 number(5)

8、, 销售日期 date, constraint PK_售货单 primary key (编号), constraint FK_售货单_To_药品清单 FOREIGN KEY (货号) REFERENCES 药品清单(货号), constraint FK_售货单_To_客户清单 FOREIGN KEY (客户编号) REFERENCES 客户清单(客户编码);增加库存库create table 库存库( 货号 varchar(15), 仓库 varchar(15), 库存数量 number(5), 库存单价 number(3,1), 库存金额 number(7));数据库实施与维护:整个系统的操

9、作过程:首先进入登陆界面,用户名和密码都为空,直接单击确认即进入操作界面,单击六个模块中的任意一个按钮进入与其有关的操作界面,再选择所要进行的操作即可弹出相关的对话框,输入用户名和密码后就可实现一系列功能如增加记录,删除和显示记录。在操作失误的时候系统会给出相应的提示和警告,以提示用户输入规范的数据和进行当前可以进行的操作。系统优点就是实现了操作并运行成功了,缺点是没有一个人性化的操作界面,操作也让人感到困倦,总的原因还是道行不深,不愿花费太大的精力,属于注重实现,忽略细节的类型。MFC的代码实现部分:登陆界面实现代码void CMedicineProjectView::OnButton1()

10、 / TODO: Add your control notification handler code here CZhuyemian zhuyemian; CADMINSET adminset; CString yonghuming; CString mima; UpdateData(TRUE); /CCzhuyemian dlg; adminset.Open(); GetDlgItem(IDC_EDIT1)GetWindowText(yonghuming); GetDlgItem(IDC_EDIT2)-GetWindowText(mima); if(adminset.m_SA_NAME!=

11、yonghuming|adminset.m_SA_VALUE!=mima) MessageBox(”用户名或密码错误!”); else zhuyemian.DoModal(); /zhuyemian。EndDialog(IDD_MEDICINEPROJECT_FORM); /EndDialog(GetSafeHwnd( ),IDD_MEDICINEPROJECT_FORM);主界面操作代码void CZhuyemian::OnButton2() / TODO: Add your control notification handler code here CClientZhujiemian c

12、lientzhujiemian; clientzhujiemian.DoModal();void CZhuyemian:OnButton3() / TODO: Add your control notification handler code here CProviderzhujiemian providerzhujiemian; providerzhujiemian。DoModal();void CZhuyemian::OnButton1() / TODO: Add your control notification handler code here CMedicinezhujiemia

13、n medicinezhujiemian; medicinezhujiemian.DoModal();void CZhuyemian::OnButton5() / TODO: Add your control notification handler code here CInlistzhujiemian inlistzhujiemian; inlistzhujiemian。DoModal();void CZhuyemian:OnButton4() / TODO: Add your control notification handler code here COutlistzhujiemia

14、n outlistzhujiemian; outlistzhujiemian。DoModal();void CZhuyemian::OnButton6() / TODO: Add your control notification handler code here CKucunkuzhujiemian kucunkuzhujiemian; kucunkuzhujiemian.DoModal();客户操作的实现代码(药品清单、供货商操作代码类似,在此省略)/ ClientZhujiemian.cpp : implementation file/#include ”stdafx。h”#inclu

15、de ”MedicineProject.h#include ClientZhujiemian。h”include ”Clientitems。h”#include ClientSet.hifdef _DEBUGdefine new DEBUG_NEWundef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CClientZhujiemian dialogCClientZhujiemian::CClientZhujiemian(CWnd pParent /=NULL/) : CDialog(CClientZhujiemian::IDD, pPare

16、nt) /AFX_DATA_INIT(CClientZhujiemian) /AFX_DATA_INITvoid CClientZhujiemian::DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CClientZhujiemian) DDX_Control(pDX, IDC_LIST1, m_Listbox); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CClientZhujiemian, CDialog) /AFX_MSG_MAP(CClientZhujiemi

17、an) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) /AFX_MSG_MAPEND_MESSAGE_MAP()/ CClientZhujiemian message handlersvoid CClientZhujiemian::OnButton1() / TODO: Add your control notification handler code here CClientitems clientitems;

18、 clientitems.DoModal();void CClientZhujiemian::OnButton3() / TODO: Add your control notification handler code here m_Listbox。Invalidate(FALSE); int n=m_Listbox。GetCount(); while(n=0) m_Listbox.DeleteString(n); n-; UpdateData(FALSE); CClientSet clientshow; m_Listbox。SetHorizontalExtent(100); clientsh

19、ow。Open(); clientshow.MoveFirst(); while(!clientshow。IsEOF() m_Listbox。AddString(clientshow.m_column1+” +clientshow。m_column2+” ”+ clientshow。m_column3+ ”+clientshow.m_column4); clientshow。MoveNext(); clientshow。MoveFirst(); clientshow。Close(); UpdateData(TRUE); m_Listbox.Invalidate(FALSE);void CCli

20、entZhujiemian::OnButton2() / TODO: Add your control notification handler code here CClientSet clientdelete; int n; n=m_Listbox.GetCurSel()+1; char s10; itoa(n,s,10); MessageBox(s); clientdelete.Open(); clientdelete。MoveFirst(); if(n=1) clientdelete。Delete(); else while(n1) clientdelete。MoveNext(); n

21、=n-1; clientdelete.Delete(); clientdelete.Close();进货单操作界面代码(售货单操作界面代码类似,省略)void CInlistzhujiemian:OnButton1() / TODO: Add your control notification handler code here CInlistitems inlistitems; inlistitems。DoModal();void CInlistzhujiemian::OnButton3() / TODO: Add your control notification handler code

22、 here m_listbox.Invalidate(FALSE); int n=m_listbox.GetCount(); while(n=0) m_listbox。DeleteString(n); n-; UpdateData(FALSE); CInlistSet1 inlistshow; CString a,b; inlistshow.Open(); inlistshow.MoveFirst(); m_listbox.SetHorizontalExtent(100); while(!inlistshow.IsEOF()) a=(CString)inlistshow.m_column5;

23、b=inlistshow。m_column6。Format(A B %d Y); m_listbox。AddString(inlistshow。m_column1+ +inlistshow。m_column2+ ”+ inlistshow.m_column3+” +inlistshow.m_column4+ +a+” +b); inlistshow.MoveNext(); inlistshow。MoveFirst(); inlistshow。Close(); UpdateData(TRUE); m_listbox。Invalidate(FALSE);增加进货单相关信息代码void CInlis

24、titems::OnButton1() / TODO: Add your control notification handler code here CInlistSet1 addrecordset;/定义进货单和库存库对象 CKucunkuset3 addtokucunkuset; CString a,b,c,d; CString e; addrecordset.Open(); addtokucunkuset。Open(); e=(CString)m_inlistshuliang; if(addrecordset.GetRecordCount() addrecordset。MoveLast

25、(); GetDlgItem(IDC_EDIT1)GetWindowText(a);/CString类型的变量a得到IDC_EDIT1控件中的内容 GetDlgItem(IDC_EDIT2)-GetWindowText(b); GetDlgItem(IDC_EDIT3)-GetWindowText(c); GetDlgItem(IDC_EDIT4)-GetWindowText(d); GetDlgItem(IDC_EDIT5)-GetWindowText(e); if(a。IsEmpty()|b。IsEmpty()|c。IsEmpty()d。IsEmpty()) MessageBox(信息不能

26、为空!”); else addrecordset.AddNew();/和售货单不同,只要进货就要往库存库中做记录,而且库存库记录依赖于 addrecordset。m_column1=a;/进货单相应记录的不同变化而出现不同情况,所以先插入进货单,再 addrecordset。m_column2=b;/插入或变更库存库的记录 addrecordset。m_column3=c; addrecordset。m_column4=d; addrecordset。m_column5=e; addrecordset。m_column6=m_inlistdate; int n=0;/(n的值为什么一直是一呢,

27、不,是反复无常啊!)用n来得到库存库中的记录个数 char nn2; if(addtokucunkuset.GetRecordCount()) addtokucunkuset。MoveFirst(); while(!addtokucunkuset.IsEOF()) addtokucunkuset.MoveNext(); n+; n+; itoa(n,nn,10); MessageBox(nn);/验证n的大小 /*int n;/这种情况下n总是一 char nn2; n=addtokucunkuset。GetRecordCount(); itoa(n,nn,10); MessageBox(nn

28、);/ if(n1) addtokucunkuset.MoveFirst(); while(n0) if(addtokucunkuset。m_column1=c&addtokucunkuset.m_column2=d) break; else if(addtokucunkuset.IsEOF()) n; break; else addtokucunkuset。MoveNext(); n-; if(n)/如果有相应的记录,做更改操作 float price,sum,sum0; int number,number0; CString summ; CString jiage; CString num

29、berr; CMedicineSet medicineset; medicineset.Open(); medicineset.MoveFirst(); while(medicineset。m_column1!=c) medicineset.MoveNext(); price=atof(medicineset。m_column4); number=atoi(e); number0=atoi(addtokucunkuset。m_column3); number0=number0+number; sum=price*number; sum0=atof(addtokucunkuset.m_column5); s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1