




免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统原理及其应用教程课程设计报告题目名称电脑报价管理系统 任课教师: 姓 名: 学 号: 2009年12月30日一 设计内容概述:电脑销售每天都会接待大量的客户,使用电脑报价管理系统可以大大地提高工作效率,减少工作中可能出现的错误,从而为商家带来更大的效益。数据库中包含7个表,即供应商信息表ProviderInfo、客户信息表CustomerInfo、配件信息表FittingInfo、推荐配置表RecommendInfo、报价总表TotalQuote、报价明细表DetailQuote和用户信息表UserInfo。运行系统后,首先会看到登录窗体,对用户的身份进行认证。如果需要对普通用户进行管理,则使用Admin用户登录;否则建议使用Users用户登录。如果还要创建其他用户,可以在用户管理模块中创建和管理。在本系统中,应该首先增加基本信息和配件信息,基本信息包括供应商信息、客户信息和配件类型和品牌信息。电脑配件管理模块包括配件信息管理、类型信息管理和品牌信息管理。在报价管理模块中,可以进行添加、修改和删除为客户提供推荐的配置信息和装机配置信息。推荐的配置信息包括推荐类型(家庭型、豪华型和经济型)、配件信息、推荐数量和价格等。装机配置信息包括客户信息、配件信息、数量、金额、报价时间等。每日收入查询表用于查看每天装机的信息,包括客户姓名、配件总数和总价格等信息。月收入统计表用于统计每个月的收入信息,包括装机时间、装机数量、配件数量、总收入以及上述信息的月总计数等。二设计环境:前台开发工具选择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 概念模型设计: 供应商信息ER模型图 供应商编号 联系人供应商名称联系电话 地址供应商信息 备注 网址 E-mail客户信息ER模型图 客户编号性别 姓名 公司 客户信息 备注 手机 家庭电话配件信息ER模型图进货单价保修期配件类型编号供应商编号型号规格 配件序号 配件信息品牌编号出售单价 厂商 是否事假是否病假是否出差 推荐配置ER模型图装机编号推荐类型 数量配件序号 推荐配置小记报价明细表ER模型图 数量 配件序号 装机编号报价明细表 总价明细编号 报价总表ER模型图 装机时间装机编号客户编号 报价总表是否成交用户信息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 = True7Linkmanvarchar(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)Allow Null = True7CustomerMemovarchar(500)Allow Null = True配件信息表FittingInfo编号字段名称数据类型说明1FittingIdintAllow Null = False 主键2TypeIdintAllow Null = False3MarkIdintAllow Null = False4Stdvarchar(200)Allow Null = False5Productorvarchar200Allow Null = False6UnitPricefloatAllow Null = False7InPricefloatAllow Null = False8MaintainVarchar50Allow Null = False9ProviderIdintAllow Null = True推荐配置信息表RecommendInfo编号字段名称数据类型说明1RecommendIdIntAllow Null = False2FlagInt(0-家庭型、1-豪华型、2-经济型) Allow Null = False3FittingIdintAllow Null = False4NumIntAllow Null = False 默认值:15SubTotalfloatAllow Null = True报价明细信息表DetailQuote编号字段名称数据类型说明1DIdInt明细编号2TIdInt装机编号 Allow Null = False3FittingIdInt配件序号 Allow Null = False4NumIntAllow Null = False 默认值:15SubTotalfloatAllow Null = True报价总表TotalQuote编号字段名称数据类型说明1TIdInt装机编号2CustomerIdInt客户编号3IsSubmitint是否成交4FitTimeInt装机时间用户信息表UserInfo编号字段名称数据类型说明1UserNameVarchar20Allow Null = False 主键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 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 = 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_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语句,Insert 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是操作完成后所影响的行数, / 参数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_pConnection-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 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+, your modifications will be overwritten./ Dispatch interfaces referenced by this interfaceclass CPicture;class COleFont;/ CDataCombo wrapper classclass CDataCombo : 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* 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) 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();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 newValue);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 GetSelectedItem();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 GetEnabled();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 SetRowMember(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 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+, 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 result;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;InvokeHelper(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, 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_PROPERTYGET, 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, 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;void 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);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, parms, 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);long 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 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, DISPATCH_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_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);return result;short CDataCombo:GetVisibleCount()short result;InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;CString CDataCombo:GetText()CString result;InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CDataCombo:SetText(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0xf, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);unsigned long CDataCombo:GetBackColor()unsigned long result;InvokeHelper(DISPID_BACKCOLOR, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;void CDataCombo:SetBackColor(unsigned long newValue)static BYTE parms =VTS_I4;InvokeHelper(DISPID_BACKCOLOR, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);unsigned long CDataCombo:GetForeColor()unsigned long result;InvokeHelper(DISPID_FORECOLOR, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;void CDataCombo:SetForeColor(unsigned long newValue)static BYTE parms =VTS_I4;InvokeHelper(DISPID_FORECOLOR, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);COleFont CDataCombo:GetFont()LPDISPATCH pDispatch;InvokeHelper(DISPID_FONT, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);return COleFont(pDispatch);void CDataCombo:SetRefFont(LPDISPATCH newValue)static BYTE parms =VTS_DISPATCH;InvokeHelper(DISPID_FONT, DISPATCH_PROPERTYPUTREF, VT_EMPTY, NULL, parms, newValue);BOOL CDataCombo:GetEnabled()BOOL result;InvokeHelper(DISPID_ENABLED, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CDataCombo:SetEnabled(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(DISPID_ENABLED, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);BOOL CDataCombo:GetMatchedWithList()BOOL result;InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;long CDataCombo:GetAppearance()long result;InvokeHelper(0x14, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;void CDataCombo:SetAppearance(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0x14, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);long CDataCombo:GetHwnd()long result;InvokeHelper(DISPID_HWND, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;BOOL CDataCombo:GetRightToLeft()BOOL result;InvokeHelper(0xfffffd9d, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CDataCombo:SetRightToLeft(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0xfffffd9d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);LPUNKNOWN CDataCombo:GetRowSource()LPUNKNOWN result;InvokeHelper(0x68, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL);return result;void CDataCombo:SetRe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车理论试题及和答案
- 2025年公路工程试验检测师资格考试(道路工程)综合练习题及答案一
- 阿里地区2025-2026学年七年级下学期语文期中模拟试卷
- 安达市2024-2025学年七年级上学期语文月考模拟试卷
- 安徽省安庆市大观区2024-2025学年高二上学期期中考试生物试卷及答案
- 2025 年小升初广州市初一新生分班考试数学试卷(带答案解析)-(人教版)
- Python大模型基础与智能应用(微课版)课件第8章 BERT与机器学习模型融合微调案例
- 2025销售合同格式参考文本
- 山东省枣庄市山亭区城头镇高庄小学2024-2025学年五年级下学期期末检测数学试题(无答案)
- 部编版九年级下册第三单元 单元测试卷(含答案)
- 监护学徒协议书范本
- JISG3141-2017冷轧钢板及钢带
- 2025届苏锡常镇高三语文一模作文解读及范文:我会洗碗呀
- 办公楼维修改造施工方案
- 义务消防队组建方案
- 2025-2030中国ARM核心板行业市场现状分析及竞争格局与投资发展研究报告
- 脐灸技术操作流程图及考核标准
- 集团海外业务管理手册(专业完整格式模板)
- 高危儿培训计划和方案
- 给药错误PDCA课件
- 2025年公文写作基础知识竞赛试题库及答案(共120题)
评论
0/150
提交评论