数据库电脑报价管理系统.doc

上传人:啊飒飒 文档编号:10936130 上传时间:2021-06-13 格式:DOC 页数:38 大小:959.50KB
返回 下载 相关 举报
数据库电脑报价管理系统.doc_第1页
第1页 / 共38页
数据库电脑报价管理系统.doc_第2页
第2页 / 共38页
数据库电脑报价管理系统.doc_第3页
第3页 / 共38页
数据库电脑报价管理系统.doc_第4页
第4页 / 共38页
数据库电脑报价管理系统.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《数据库电脑报价管理系统.doc》由会员分享,可在线阅读,更多相关《数据库电脑报价管理系统.doc(38页珍藏版)》请在三一文库上搜索。

1、数据库系统原理及其应用教程课程设计报告题目名称电脑报价管理系统 任课教师: 姓 名: 学 号: 2009年12月30日一 设计内容概述:电脑销售每天都会接待大量的客户,使用电脑报价管理系统可以大大地提高工作效率,减少工作中可能出现的错误,从而为商家带来更大的效益。数据库中包含7个表,即供应商信息表ProviderInfo、客户信息表CustomerInfo、配件信息表FittingInfo、推荐配置表RecommendInfo、报价总表TotalQuote、报价明细表DetailQuote和用户信息表UserInfo。运行系统后,首先会看到登录窗体,对用户的身份进行认证。如果需要对普通用户进行

2、管理,则使用Admin用户登录;否则建议使用Users用户登录。如果还要创建其他用户,可以在用户管理模块中创建和管理。在本系统中,应该首先增加基本信息和配件信息,基本信息包括供应商信息、客户信息和配件类型和品牌信息。电脑配件管理模块包括配件信息管理、类型信息管理和品牌信息管理。在报价管理模块中,可以进行添加、修改和删除为客户提供推荐的配置信息和装机配置信息。推荐的配置信息包括推荐类型(家庭型、豪华型和经济型)、配件信息、推荐数量和价格等。装机配置信息包括客户信息、配件信息、数量、金额、报价时间等。每日收入查询表用于查看每天装机的信息,包括客户姓名、配件总数和总价格等信息。月收入统计表用于统计每

3、个月的收入信息,包括装机时间、装机数量、配件数量、总收入以及上述信息的月总计数等。二设计环境:前台开发工具选择Visual C+ 6.0后台数据库选择SQL Server 2000中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装Visual c+数据库访问控件n ADO Data控件n DataList控件n DataCombo控件n DataGrid控件 3 需求分析:1. 客户信息和供应商信息的添加、修改、删除和查询。这是系统的基础模块,为电脑报价管理模块提供数据2. 配件信息、类型信息和品牌信息的添加、修改、删除和查询。这也是系统的基础模块,为电脑报价管理模块提供数据。3.

4、装机配置和推荐配置信息的添加、修改、删除和查询。4. 统计查询包括每日收入查询和月收入统计等功能 系统功能模块示意图4 概念模型设计: 供应商信息ER模型图 供应商编号 联系人供应商名称联系电话 地址供应商信息 备注 网址 E-mail客户信息ER模型图 客户编号性别 姓名 公司 客户信息 备注 手机 家庭电话配件信息ER模型图进货单价保修期配件类型编号供应商编号型号规格 配件序号 配件信息品牌编号出售单价 厂商 是否事假是否病假是否出差 推荐配置ER模型图装机编号推荐类型 数量配件序号 推荐配置小记报价明细表ER模型图 数量 配件序号 装机编号报价明细表 总价明细编号 报价总表ER模型图 装

5、机时间装机编号客户编号 报价总表是否成交用户信息ER模型图用户类型 用户姓名 用户密码 用户信息5 逻辑设计:供应商信息表ProviderInfo编号字段名称数据类型说明1ProviderIdint主键 Allow Null = False2ProviderNamevarchar(50)Allow Null = False3Addressvarchar(500)Allow Null = True4Telvarchar(500)Allow Null = True5Emailvarchar(50)Allow Null = True6Sitevarchar(50)Allow Null = True7

6、Linkmanvarchar(50)Allow Null = True8ProviderMemovarchar(500)Allow Null = True客户信息表CustomerInfo编号字段名称数据类型说明1CustomerIdint主键 Allow Null = False2CutomerNamevarchar50Allow Null = False3Sexvarchar(4)Allow Null = True4CompanyVarchar(500)Allow Null = True5Mobilevarchar(20)Allow Null = False6Homevarchar(50)

7、Allow Null = True7CustomerMemovarchar(500)Allow Null = True配件信息表FittingInfo编号字段名称数据类型说明1FittingIdintAllow Null = False 主键2TypeIdintAllow Null = False3MarkIdintAllow Null = False4Stdvarchar(200)Allow Null = False5Productorvarchar200Allow Null = False6UnitPricefloatAllow Null = False7InPricefloatAllow

8、 Null = False8MaintainVarchar50Allow Null = False9ProviderIdintAllow Null = True推荐配置信息表RecommendInfo编号字段名称数据类型说明1RecommendIdIntAllow Null = False2FlagInt(0-家庭型、1-豪华型、2-经济型) Allow Null = False3FittingIdintAllow Null = False4NumIntAllow Null = False 默认值:15SubTotalfloatAllow Null = True报价明细信息表DetailQuo

9、te编号字段名称数据类型说明1DIdInt明细编号2TIdInt装机编号 Allow Null = False3FittingIdInt配件序号 Allow Null = False4NumIntAllow Null = False 默认值:15SubTotalfloatAllow Null = True报价总表TotalQuote编号字段名称数据类型说明1TIdInt装机编号2CustomerIdInt客户编号3IsSubmitint是否成交4FitTimeInt装机时间用户信息表UserInfo编号字段名称数据类型说明1UserNameVarchar20Allow Null = False

10、 主键2PasswdVarchar50密码3UserTypeint用户类型4TypeNameVarchar(10)类型名称 6 源代码及查询截图 程序流程图程序主界面具体功能实现供应商信息管理 客户信息管理配件信息管理推荐配置信息管理 装机详单信息管理 用户信息管理 数据库连接方法及部分功能源代码连接数据库代码/ ADOConn.cpp: implementation of the ADOConn class./#include stdafx.h#include QuoteManage.h#include ADOConn.h#ifdef _DEBUG#undef THIS_FILEstatic

11、 char THIS_FILE=_FILE_;#define new DEBUG_NEW#endif/ Construction/Destruction/ADOConn:ADOConn()ADOConn:ADOConn()/ 初始化连接数据库void ADOConn:OnInitADOConn()/ 初始化OLE/COM库环境 :CoInitialize(NULL);try/ 创建Connection对象m_pConnection.CreateInstance(ADODB.Connection);/ 设置连接字符串,必须是BSTR型或者_bstr_t类型_bstr_t strConnect =

12、 Provider=SQLOLEDB.1; Server=127.0.0.1; Database=QuoteManage; uid=sa; Trusted_Connection=Yes;m_pConnection-Open(strConnect,adModeUnknown);/ 捕捉异常catch(_com_error e)/ 显示错误信息AfxMessageBox(e.Description();/ 执行查询_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL)try/ 连接数据库,如果Connection对象为空,则重新连接数据库if(m_

13、pConnection=NULL)OnInitADOConn();/ 创建记录集对象m_pRecordset.CreateInstance(_uuidof(Recordset);/ 取得表中的记录m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);/ 捕捉异常catch(_com_error e)/ 显示错误信息AfxMessageBox(e.Description();/ 返回记录集return m_pRecordset;/ 执行SQL语句,In

14、sert Update _variant_tBOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL)/_variant_t RecordsAffected;try/ 是否已经连接数据库if(m_pConnection = NULL)OnInitADOConn();/ Connection对象的Execute方法:(_bstr_t CommandText, / VARIANT * RecordsAffected, long Options ) / 其中CommandText是命令字串,通常是SQL命令。/ 参数RecordsAffected是操作完成后所影响的行数, /

15、参数Options表示CommandText的类型:adCmdText-文本命令;adCmdTable-表名/ adCmdProc-存储过程;adCmdUnknown-未知m_pConnection-Execute(bstrSQL,NULL,adCmdText);return true;catch(_com_error e)AfxMessageBox(e.Description();return false;/ 断开连接void ADOConn:ExitConnect()/ 关闭记录集和连接if (m_pRecordset != NULL)m_pRecordset-Close();m_pCon

16、nection-Close();/ 释放环境:CoUninitialize();Combodata类的定义与实现代码类的声明#if !defined(AFX_DATACOMBO_H_38F7307D_99F1_478B_B948_206D0B889C47_INCLUDED_)#define AFX_DATACOMBO_H_38F7307D_99F1_478B_B948_206D0B889C47_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000/ Machine generated IDispatch wrapper cla

17、ss(es) created by Microsoft Visual C+/ NOTE: Do not modify the contents of this file. If this class is regenerated by/ Microsoft Visual C+, your modifications will be overwritten./ Dispatch interfaces referenced by this interfaceclass CPicture;class COleFont;/ CDataCombo wrapper classclass CDataComb

18、o : public CWndprotected:DECLARE_DYNCREATE(CDataCombo)public:CLSID const& GetClsid()static CLSID const clsid= 0xf0d2f21c, 0xccb0, 0x11d0, 0xa3, 0x16, 0x0, 0xaa, 0x0, 0x68, 0x8b, 0x10 ;return clsid;virtual BOOL Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect,CWnd*

19、pParentWnd, UINT nID,CCreateContext* pContext = NULL) return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect, CWnd* pParentWnd, UINT nID,CFile* pPersist = NULL, BOOL bStorage = FALSE,BSTR bstrLicKey = NULL)

20、 return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,pPersist, bStorage, bstrLicKey); / Attributespublic:/ Operationspublic:CString GetListField();void SetListField(LPCTSTR lpszNewValue);CString GetBoundText();void SetBoundText(LPCTSTR lpszNewValue);CString GetBoundColumn

21、();void SetBoundColumn(LPCTSTR lpszNewValue);long GetStyle();void SetStyle(long nNewValue);long GetMousePointer();void SetMousePointer(long nNewValue);BOOL GetLocked();void SetLocked(BOOL bNewValue);CPicture GetMouseIcon();void SetMouseIcon(LPDISPATCH newValue);void SetRefMouseIcon(LPDISPATCH newVal

22、ue);BOOL GetIntegralHeight();void SetIntegralHeight(BOOL bNewValue);long GetSelStart();void SetSelStart(long nNewValue);long GetSelLength();void SetSelLength(long nNewValue);CString GetSelText();void SetSelText(LPCTSTR lpszNewValue);long GetMatchEntry();void SetMatchEntry(long nNewValue);VARIANT Get

23、SelectedItem();short GetVisibleCount();CString GetText();void SetText(LPCTSTR lpszNewValue);unsigned long GetBackColor();void SetBackColor(unsigned long newValue);unsigned long GetForeColor();void SetForeColor(unsigned long newValue);COleFont GetFont();void SetRefFont(LPDISPATCH newValue);BOOL GetEn

24、abled();void SetEnabled(BOOL bNewValue);BOOL GetMatchedWithList();long GetAppearance();void SetAppearance(long nNewValue);long GetHwnd();BOOL GetRightToLeft();void SetRightToLeft(BOOL bNewValue);LPUNKNOWN GetRowSource();void SetRefRowSource(LPUNKNOWN newValue);CString GetRowMember();void SetRowMembe

25、r(LPCTSTR lpszNewValue);long GetOLEDragMode();void SetOLEDragMode(long nNewValue);long GetOLEDropMode();void SetOLEDropMode(long nNewValue);void ReFill();VARIANT GetVisibleItems(short nIndex);void Refresh();void OLEDrag();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations

26、immediately before the previous line.#endif / !defined(AFX_DATACOMBO_H_38F7307D_99F1_478B_B948_206D0B889C47_INCLUDED_)类的实现/ Machine generated IDispatch wrapper class(es) created by Microsoft Visual C+/ NOTE: Do not modify the contents of this file. If this class is regenerated by/ Microsoft Visual C

27、+, your modifications will be overwritten.#include stdafx.h#include datacombo.h/ Dispatch interfaces referenced by this interface#include picture.h#include font.h/ CDataComboIMPLEMENT_DYNCREATE(CDataCombo, CWnd)/ CDataCombo properties/ CDataCombo operationsCString CDataCombo:GetListField()CString re

28、sult;InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CDataCombo:SetListField(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);CString CDataCombo:GetBoundText()CString result;InvokeH

29、elper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CDataCombo:SetBoundText(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0x2, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);CString CDataCombo:GetBoundColumn()CString result;InvokeHelper(0x3,

30、 DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CDataCombo:SetBoundColumn(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0x3, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);long CDataCombo:GetStyle()long result;InvokeHelper(0x4, DISPATCH_PROPERTYGE

31、T, VT_I4, (void*)&result, NULL);return result;void CDataCombo:SetStyle(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0x4, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);long CDataCombo:GetMousePointer()long result;InvokeHelper(0xfffffdf7, DISPATCH_PROPERTYGET, VT_I4, (void*)&result,

32、 NULL);return result;void CDataCombo:SetMousePointer(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0xfffffdf7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);BOOL CDataCombo:GetLocked()BOOL result;InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;v

33、oid CDataCombo:SetLocked(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x6, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);CPicture CDataCombo:GetMouseIcon()LPDISPATCH pDispatch;InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);return CPicture(pDispatch

34、);void CDataCombo:SetMouseIcon(LPDISPATCH newValue)static BYTE parms =VTS_DISPATCH;InvokeHelper(0x7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);void CDataCombo:SetRefMouseIcon(LPDISPATCH newValue)static BYTE parms =VTS_DISPATCH;InvokeHelper(0x7, DISPATCH_PROPERTYPUTREF, VT_EMPTY, NULL, p

35、arms, newValue);BOOL CDataCombo:GetIntegralHeight()BOOL result;InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CDataCombo:SetIntegralHeight(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x8, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);l

36、ong CDataCombo:GetSelStart()long result;InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;void CDataCombo:SetSelStart(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0x9, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);long CDataCombo:GetSelLength()long

37、 result;InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;void CDataCombo:SetSelLength(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0xa, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);CString CDataCombo:GetSelText()CString result;InvokeHelper(0xb, D

38、ISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CDataCombo:SetSelText(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0xb, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);long CDataCombo:GetMatchEntry()long result;InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;void CDataCombo:SetMatchEntry(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0xc, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);VARIANT CDataCombo:GetSelectedItem()VARIANT result;InvokeHelper(0xd, DISPATCH_P

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1