数据库课程设计++仓储管理系统Word文件下载.docx
- 文档编号:19385327
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:38
- 大小:313.60KB
数据库课程设计++仓储管理系统Word文件下载.docx
《数据库课程设计++仓储管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计++仓储管理系统Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。
可以进行盘库,反映每月、年的库存情况;
可以查询产品入库情况、出库情况、当前库存情况,可以按出库单、入库单,产品、时间进行查询;
2、数据库要求:
在数据库中至少应该包含下列数据表:
库存情况表;
出库单表;
入库单表;
出库台帐;
入库台帐;
借条信息表,反映,借出人,借出时间,借出产品,借出数量,还库时间等。
四、数据库概念结构设计(E-R图):
现有库存(设备号、现有库存、警戒库存、总数)
入库(设备号、供应商信息、采购价格数量、采购员)
出库(设备号、使用部门、数量、时间、经手人)
部门需求(设备号、需求部门、需求数量、需求时间)
设备还库(设备号、还库时间、人、还库数量、经手人)
计划采购(设备号、库存信息、供应信息、时间)
实体关系(入库、现有库存、出库、还库、部门需求、设备采购)
五、数据库逻辑结构设计:
表:
用户:
Login
name
password
yu
21213
现有库存:
device
code
now_number
high_number
low_number
total_number
002
16
300
3
167
003
12
10
62
004
100
30
4
15
005
20
006
5
007
008
1
设备代码:
device_code
001
PzkpfwIV
Tiger
Panther
Bf-109
Stuka
Me-262
电脑
011
Pzkpfwfg
入库:
device_in
in_date
provider
teleno
in_number
price
buyer
1983-6-910:
21:
21
Grumman
800-00001
7100
Bill
1983-6-912:
20:
08
G.D.
800-12345
1000.5
Tom
43
Lockheed
800-54321
1.99
Jack
22:
31
M.D.
800-123321
160
1700
Deny
2004-7-2311:
26:
09
33:
52
34:
2005-3-310:
48:
求是
01089*88888
9888
小指
设备需求:
device_need
department
begin_date
end_date
need_number
nowhere
23:
33
1983-1-212:
出库:
device_out
out_date
out_state
out_person
out_number
taker
usage
8
Jerry
Lunch.
Math.Dept.
2002-8-1220:
59:
Euler
Hilbert
Lecture32
办公室
2005-4-310:
49:
01
王江
公司使用
还库:
device_return
return_date
keeper
return_number
return_person
24:
Minkovski
2002-8-1121:
04:
05
administer
golf
me
she
2005-6-310:
55
xiaozhi
6
设备采购:
device_wantbuy
max_number
buy_number
buy_date
60
G.E.
150
2002-8-1116:
45:
9
48
广州
10.2
2004-7-1910:
38:
日志:
howdo
do_user
do_what
do_date
登录数据库
2005-3-317:
07:
59
六、数据库程序详细设计:
1、COM知识准备
//DlgViewReport.cpp
_RecordsetPtrpRst=NULL;
IADORecordBinding*picRs=NULL;
//InterfacePointerdeclared.(VC++Extensions)
CDevBuyRsrs;
try
{
_bstr_tstrSQL("
SELECT*FROMDEVICE_WANTBUY"
);
TESTHR(pRst.CreateInstance(__uuidof(Recordset)));
pRst=m_DBCnt->
Execute(strSQL,NULL,adCmdText);
TESTHR(pRst->
QueryInterface(__uuidof(IADORecordBinding),(LPVOID*)&
picRs));
TESTHR(picRs->
BindToRecordset(&
rs));
inti=0;
while(!
pRst->
adoEOF)
{
m_list.InsertItem(0,rs.m_sz_code);
m_list.SetItemText(i,1,rs.m_sz_now);
m_list.SetItemText(i,2,rs.m_sz_total);
m_list.SetItemText(i,3,rs.m_sz_max);
m_list.SetItemText(i,4,rs.m_sz_buy);
m_list.SetItemText(i,5,rs.m_sz_provider);
m_list.SetItemText(i,6,rs.m_sz_price);
m_list.SetItemText(i,7,rs.m_sz_date);
pRst->
MoveNext();
}
picRs->
Release();
pRst->
Close();
}
catch(_com_error&
e)
AfxMessageBox(e.ErrorMessage());
m_list.SetRedraw(TRUE);
return;
}
2.1、日志模块
//LogMngr.h
classCLogMngr
{
public:
CLogMngr();
virtual~CLogMngr();
boolAddLog(LPCSTRop);
voidSetup(_ConnectionPtrcnnt,CString&
user)
m_DBCnt=cnnt;
m_user=user;
protected:
_ConnectionPtrm_DBCnt;
CStringm_user;
};
//LogMngr.cpp
boolCLogMngr:
:
AddLog(LPCSTRop)
CTimetm=CTime:
GetCurrentTime();
CStringsql_;
sql_.Format("
INSERTINTOHOWDO(do_user,do_what,do_date)VALUES('
%s'
'
%d-%d-%d%d:
%d:
%d'
)"
m_user,op,
tm.GetYear(),tm.GetMonth(),tm.GetDay(),
tm.GetHour(),tm.GetMinute(),tm.GetSecond());
_bstr_tsql=sql_;
m_DBCnt->
Execute(sql,NULL,adCmdText);
CStringError=e.ErrorMessage();
returnfalse;
}
returntrue;
2.2、
//DlgViewLog.cpp
voidCDlgViewLog:
OnBtnVlrmall()
//_bstr_tstrSQL("
TRUNCATETABLEHOWDO"
_bstr_tstrSQL("
DELETE*FROMHOWDO"
Execute(strSQL,NULL,adCmdText);
EndDialog(0);
}
RefreshData();
3、登陆窗口
//DMSDlg.cpp
/**
*在这里弹出用户登录对话框
*/
CDlgLogIndlg;
do
if(!
dlg.DoModal())
EndDialog(0);
}while(dlg.m_UsrName.GetLength()==0);
*登录数据库,若失败,则关闭程序。
m_DBCnt.CreateInstance(__uuidof(Connection));
CStringsql_;
sql_.Format("
DSN=DMS;
UID=%s;
PWD=%s"
dlg.m_UsrName,dlg.m_UsrPwd);
_bstr_tsql=sql_;
Open(sql,"
"
"
-1);
m_logMngr.Setup(m_DBCnt,dlg.m_UsrName);
m_logMngr.AddLog("
登录数据库"
AfxMessageBox(e.ErrorMessage());
this->
EndDialog(0);
voidCDMSDlg:
OnDestroy()
CDialog:
OnDestroy();
m_DBCnt->
4、主对话框
OnBtnDevcode()
CDlgDevcodedlg;
dlg.Setup(m_DBCnt,&
m_logMngr);
this->
ShowWindow(SW_HIDE);
dlg.DoModal();
ShowWindow(SW_SHOW);
5、设备代码管理窗口
//DlgDevcode.cpp
BOOLCDlgDevcode:
OnInitDialog()
OnInitDialog();
m_list.InsertColumn(0,"
设备号"
m_list.InsertColumn(1,"
设备名"
RECTrect;
m_list.GetWindowRect(&
rect);
intwid=rect.right-rect.left;
m_list.SetColumnWidth(0,wid/2);
m_list.SetColumnWidth(1,wid/2);
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
//EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
BEGIN_MESSAGE_MAP(CDlgDevcode,CDialog)
//{{AFX_MSG_MAP(CDlgDevcode)
ON_NOTIFY(NM_CLICK,IDC_LIST_DEVCODE,OnClickListDevcode)
ON_BN_CLICKED(IDC_BTN_DCADD,OnBtnDcadd)
ON_BN_CLICKED(IDC_BTN_DCDEL,OnBtnDcdel)
ON_BN_CLICKED(IDC_BTN_DCUPD,OnBtnDcupd)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
voidCDlgDevcode:
OnClickListDevcode(NMHDR*pNMHDR,LRESULT*pResult)
inti=m_list.GetSelectionMark();
m_code=m_list.GetItemText(i,0);
m_name=m_list.GetItemText(i,1);
UpdateData(FALSE);
*pResult=0;
//DlgDevcode.cpp:
implementationfile
//
#include"
stdafx.h"
DMS.h"
DlgDevcode.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CDlgDevcodedialog
CDlgDevcode:
CDlgDevcode(CWnd*pParent/*=NULL*/)
:
CDialog(CDlgDevcode:
IDD,pParent)
//{{AFX_DATA_INIT(CDlgDevcode)
m_code=_T("
m_name=_T("
//}}AFX_DATA_INIT
m_DBCnt=NULL;
m_log=NULL;
DoDataExchange(CDataExchange*pDX)
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgDevcode)
DDX_Control(pDX,IDC_LIST_DEVCODE,m_list);
DDX_Text(pDX,IDC_EDIT_DCCODE,m_code);
DDX_Text(pDX,IDC_EDIT_DCNAME,m_name);
//}}AFX_DATA_MAP
//CDlgDevcodemessagehandlers
RefreshData()
m_list.DeleteAllItems();
m_list.SetRedraw(FALSE);
SELECT*FROMDEVICE_CODE"
_RecordsetPtrMySet;
inti=0;
MySet.CreateInstance(__uuidof(Recordset));
MySet=m_DBCnt->
_variant_tHolder;
while(!
MySet->
{
Holder=MySet->
GetCollect("
code"
if(Holder.vt!
=VT_NULL)
m_list.InsertItem(i,(char*)(_bstr_t)Holder);
name"
m_list.SetItemText(i,1,(char*)(_bstr_t)Holder);
MySet->
}
m_list.SetRedraw(TRUE);
OnBtnDcadd()
UpdateData();
INSERTINTODEVICE_CODE(code,name)VALUES('
m_code,m_name);
AfxMessageBox(e.Error
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 仓储 管理 系统