logo资料库

数据库课程设计报告(仓库管理系统).doc

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
三 概要设计
用户(用户名,密码,权限类型);
四 逻辑设计
五 详细设计
七 测试结果
八 小结
参考文献
数据库课程设计报告(仓库管理系统) 三 概要设计 3.1 E—R 图和相关说明 类别(类别编号,类别名称,上级类别) 仓库(仓库编号,隶属单位,备注)
用户(用户名,密码,权限类型); 客户(客户编号,联系人,单位,联系电话,传真,通信地址,邮政编码) 产品(编号,名称,规格,计算单位,参考价格,数量下限,数量下限,有效期,警告
出库(出库类型,产品类型,单价,数量,总价格,客户单位,出库仓库,经办用户,出库日 期) 入库(入库类型,产品名称,生产日期,单价,数量,总价格,客户单位,入库仓库,经办用 户,入库日期) 库存(产品入库单价,库存数量,生产日期) 四 逻辑设计 (一)、表的定义如下 : Client 表(客户信息表) Product(产品信息表)
ProinStore(库存信息表) Takeout(出库表) StoreIn(入库表) Users(用户表) ProType(产品类型表) Storehouse(仓库信息表) (二)、视图定义如下: 一、report2(报表视图)
Report2 CREATE VIEW AS SELECT SiType, Pid, Pprice, Pnum, (Pprice * Pnum) As Amount, Cid, Sid, EmpName, OptDate FROM StoreIn UNION SELECT Ttype, Pid, Pprice, Pnum, (Pprice * Pnum) As Amount, Cid, Sid, EmpName, OptDate FROM TakeOut 二、 库存统计视图 CREATE VIEW AS SELECT dbo.ProInStore.Pid, SUM(dbo.ProInStore.Pnum) AS Total FROM dbo.ProInStore INNER JOIN Total_Num dbo.Product ON dbo.ProInStore.Pid = dbo.Product.Pid GROUP BY dbo.ProInStore.Pid 三、库存视图 CREATE VIEW dbo.v_ProInStore AS SELECT p.Pid, SUM(s.Pnum) AS SumNum FROM dbo.Product p INNER JOIN dbo.ProInStore s ON p.Pid = s.Pid GROUP BY p.Pid 四、入库视图 CREATE VIEW dbo.v_storein AS SELECT p.Pid, SUM(i.Pnum) AS SumNum, SUM(i.Pnum * i.Pprice) AS SumPrice FROM dbo.Product p INNER JOIN dbo.StoreIn i ON p.Pid = i.Pid GROUP BY p.Pid 五、出库视图 CREATE VIEW dbo.v_takeout AS SELECT p.Pid, SUM(t.Pnum) AS SumNum, SUM(t.Pnum * t.Pprice) AS SumPrice FROM dbo.Product p INNER JOIN dbo.TakeOut t ON p.Pid = t.Pid GROUP BY p.Pid 六、失效期统计视图 CREATE VIEW dbo.Valid AS SELECT dbo.ProInStore.SpId AS 库存记录编号, dbo.Product.Pname AS 产 品名称, dbo.ProInStore.Pprice AS 产品价格, dbo.ProInStore.Pnum AS 产 品数量,
dbo.ProInStore.MakeDate AS 生产日期, dbo.Storehouse.Sname AS 仓库名称, ROUND(DATEDIFF(day, DATEADD(day, dbo.Product.Valid, dbo.ProInStore.MakeDate), GETDATE()), 0) AS 距离失效期的天数 FROM dbo.ProInStore INNER JOIN dbo.Product ON dbo.ProInStore.Pid = dbo.Product.Pid AND DATEDIFF(day, GETDATE(), dbo.ProInStore.MakeDate) >= dbo.Product.Valid - dbo.Product.AlarmDays INNER JOIN dbo.Storehouse ON dbo.ProInStore.Sid = dbo.Storehouse.Sid 五 详细设计 总体模块设计如下: 模块一(基本信息管理)(由本人完成)
准备工作: 一完成对数据库连接和操作的类 #import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF") class ADOConn {// 定义变量 public: _variant_t void ExitConnect(); void Backup(); void Restore();//恢复数据库}; //备份数据库 一、用户登陆: _ConnectionPtr m_pConnection; //添加一个指向 Connection 对象的指针: _RecordsetPtr m_pRecordset; //添加一个指向 Recordset 对象的指针: public: // 定义方法 ADOConn(); virtual ~ADOConn();// 初始化—连接数据库 void OnInitADOConn(); _RecordsetPtr& GetRecordSet(_bstr_t bstrSQL); // 执行查询 BOOL ExecuteSQL(_bstr_t bstrSQL); // 执行 SQL 语句,Insert Update
//{{AFX_DATA(CLoginDlg) enum { IDD = IDD_LOGIN_DIALOG }; CEdit m_control_username; CEdit m_control_password; int count; int seconds; CSMButton m_ok; CSMButton m_cancel; CString m_Pwd; CString m_UserName; COLORREF m_clrText; COLORREF m_clrBkgnd; CBrush m_brBkgnd; CBrush m_brControlBkgnd1; CBrush m_brControlBkgnd2; protected: virtual void DoDataExchange(CDataExchange* pDX); support nCtlColor); virtual void OnOK(); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT // DDX/DDV 实现代码如下: class CLoginDlg : public CDialog { // Construction public: CLoginDlg(CWnd* pParent = NULL); ~CLoginDlg(); // standard constructor // Dialog Data afx_msg void OnTimer(UINT nIDEvent); virtual BOOL OnInitDialog(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; void CLoginDlg::OnOK() {UpdateData(TRUE); if (m_UserName == ""){ MessageBox("请输入用户名"); return;} if (m_Pwd == ""){ MessageBox("请输入密码"); return;}
分享到:
收藏