欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    客户资源管理系统SQLServer数据库课程设计.doc

    • 资源ID:851251       资源大小:816.77KB        全文页数:34页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    客户资源管理系统SQLServer数据库课程设计.doc

    1、客户资源管理系统 目录一、设计目的2二、系统设计2三、功能模块划分2四、系统流程分析3五、数据库设计3六、连接数据库6七、系统演示7八、相关代码展示12九、感想与总结72一、 设计目的随着新技术的广泛应用,全世界范围内的各个企业都在经历一场深刻的改革,尤其是在企业怎样与客户潜在客户进行互动交流这一点上体现的特别明显。从管理的角度来说,企业关注的焦点有改进内部运作转移到更多地关注客户上来。目前的CRM(客户关系管理)软件通过建立一个系统,是企业在客户服务,市场竞争,销售及支持方面彼此协调的全新关系实体,为企业带来长久地竞争优势,从而提高了生产率。本系统适合中小企业的客户资源管理,提供对客户的有效

    2、管理。二、 系统设计系统设计分以下几个方面:1) 进入系统前要身份验证,用户名,密码,输入正确后方可进入,2) 用户可以根据需要定义客户类型信息。3) 对客户类型信息进行修改和删除。4) 对用户的详细信息进行修改和删除。5) 用户可以定义客户的详细信息。6) 在系统对客户进行查询和编译。三、 功能模块划分客户资源管理系统身份验证客户信息管理类型管理查询管理增加新类型按姓名查询增加新客户详细信息查询修改新客户修改类型信息删除新客户删除类型信息客户资源管理系统功能模块示意图l 身份验证:提供了系统的访问控制功能。l 类型管理:即系统的配置信息管理,还包括的功能是添加,修改,删除客户类型信息,客户类

    3、型信息包括客户的地区,职位,行业等。l 客服信息管理:提供功能未添加,修改和删除客户基本信息。客户基本信息包括姓名,年龄,行业,职位,联系方式,爱好等信息。l 查询管理:包括按姓名查询,详细信息查询。这种查询接口可以方便利用SQL Server 数据库强大功能为客户提供服务。四、 系统流程分析前面分析中已经定义了系统各个功能模块,下面是系统运行的流程分析图: 登陆界面用户验证客户信息管理类型管理查询管理退出系统登陆成功登陆失败系统流程图五、 数据库设计创建数据库crm.l 数据库需求设计:系统的需求具体体现在福各种信息的保存,修改,和查询等方面,因此,一个满足系统要求的数据库必须总分照顾到对各

    4、种信息的输入输出,以免遗漏导致开发时返工。通过对系统的功能分析,客户资源管理需要包含以下数据信息。1. 地方信息:包括地方ID,地方名称。2. 结识途径:包括结识途径ID,结识途径名称。3. 职业信息:包括职业ID,职业名称。4. 行业信息:包括行业ID,行业名称。5. 客户信息:包括客户ID,姓名,所在地区,职业,行业,所在单位,结识途径,E-mail,地址,固定电话,移动电话,爱好,备注信息。l 数据库逻辑结构设计:通过需求分析创建了5个表,表之间的关系如下E-R图所示客户资源管理系统E-R图Approach表(结识途径)Profession表(职业)Area表(地区)Customer表(

    5、客户表)Vocation表(行业)为了提高数据库的存储效率和系统的功率,对customer_info_tab 创建存储过程add_customer_info_tab代码如下:USE crmgocreate procedure add_customer_info_tab( param1 int,param2 varchar(24),param3 varchar(24),param4 varchar(24),param5 varchar(24),param6 varchar(24),param7 varchar(24),param8 varchar(24),param9 varchar(24),p

    6、aram10 varchar(24),param11 varchar(60),param12 varchar(1000)ASDELETE FROM customer_info_tab WHERE id=param1;INSERT INTO customer_info_tab (id,name,area,profession,vocation,company,approach,email,phone,mobile,interest,memo)VALUES(param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,

    7、param11,param12);六、 连接数据库数据库用ODBC方式连接数据库crm,对数据库crm设置用户名为:CUSTOMERS,密码:123456.连接字段要三个参数:数据源名称,数据库用户名,数据库用户密码。系统登录窗口如下所示:登陆窗口输入crm数据源名称,用户名:CUSTOMERS,密码:123456,可以连接数据库。ODBC连接方式数据库在数据源名称点击crm会出现如下窗口:点击确定就可以连接到数据库了.七、 系统演示在登陆窗口上输入后连接完数据库后会出现一个住对话窗口,这个窗口如下所示:系统主对话窗口对于地区信息管理的模块,如在界面的“地区名称”文本框中输入“大同”,单击“添

    8、加”按钮,就可以在地区信息列表控件中看到新添加的“大同”如图所示:添加地区信息 对于地区信息管理的“修改”功能,如要修改下拉列表框中的“海口”为“三亚”就点击“海口”,在地区名称中修改海口为三亚,就完成对海口的修改,如图所示:选择修改信息信息修改完成对于地区信息管理的“删除”功能,如要删除列表框中的“湘潭”,只要点击“湘潭”之后,再点击“删除”,就会删除掉“湘潭”,如图所示:点击删除信息点击删除后:信息已删除。其他列表框中的添加,删除,修改的功能都是如此操作的。就不介绍了。对于客户信息管理模块,如在界面上的“姓名”文本框中输入“王力”在“所在地区”下拉列表框选择“武汉”,在“职业”下拉列表框中

    9、选择“教授”,在“行业”下拉列表框中选择“科研”,在“所在单位”文本框中输入“湖南科技大学”,在“结识途径“下拉列表框中选择“订单”,在email文本框中输入wangli在“固定电话”文本框中输入“027809895320”,在“移动电话”输入“15197211305”,在“爱好”文本框中输入钓鱼,在说明文本框输入“化学领域知名教授”。如图所示:输入信息页面单击添加按钮,客户信息就显示在列表控件上了,如图所示:如果要删除客户信息,点击你要删除的客户所在列,我们要删除12号客户,点击客户所在列,再单击删除,如图所示:点击删除后客户删除页面12号客户已经被删除。对于“详细查询”模块的使用,如在“所

    10、在地区”下拉菜单选择“贵阳”之后,会在列表控件中,列出所有在“贵阳”的用户消息,如图所示:选择地区方式查询页面八、 相关代码展示使用SQL Server2000创建的数据库,数据库的代码如下所示:1. 创建表的脚本如下:CREATE TABLE approach_info_tab (approach_id int NOT NULL ,approach_name varchar (24) COLLATE Chinese_PRC_CI_AS NOT NULL , PRIMARY KEY CLUSTERED (approach_id) ON PRIMARY , UNIQUE NONCLUSTERED

    11、 (approach_name) ON PRIMARY ) ON PRIMARYGOCREATE TABLE area_info_tab (area_id int NOT NULL ,area_name varchar (24) COLLATE Chinese_PRC_CI_AS NOT NULL , PRIMARY KEY CLUSTERED (area_id) ON PRIMARY , UNIQUE NONCLUSTERED (area_name) ON PRIMARY ) ON PRIMARYGOCREATE TABLE customer_info_tab (id int IDENTIT

    12、Y (1, 1) NOT NULL ,name varchar (24) COLLATE Chinese_PRC_CI_AS NOT NULL ,area varchar (24) COLLATE Chinese_PRC_CI_AS NULL ,profession varchar (24) COLLATE Chinese_PRC_CI_AS NULL ,vocation varchar (24) COLLATE Chinese_PRC_CI_AS NULL ,company varchar (24) COLLATE Chinese_PRC_CI_AS NULL ,approach varch

    13、ar (24) COLLATE Chinese_PRC_CI_AS NULL ,email varchar (24) COLLATE Chinese_PRC_CI_AS NULL ,phone varchar (24) COLLATE Chinese_PRC_CI_AS NULL ,mobile varchar (24) COLLATE Chinese_PRC_CI_AS NULL ,interest varchar (100) COLLATE Chinese_PRC_CI_AS NULL ,memo varchar (1000) COLLATE Chinese_PRC_CI_AS NULL

    14、, PRIMARY KEY CLUSTERED (id) ON PRIMARY , UNIQUE NONCLUSTERED (name) ON PRIMARY ,CONSTRAINT FK_customer_info_tab_area_info_tab FOREIGN KEY (area) REFERENCES area_info_tab (area_name),CONSTRAINT FK_customer_info_tab_profession_info_tab FOREIGN KEY (profession) REFERENCES profession_info_tab (professi

    15、on_name),CONSTRAINT FK_customer_info_tab_vocation_info_tab FOREIGN KEY (vocation) REFERENCES vocation_info_tab (vocation_name) ON PRIMARYGOCREATE TABLE profession_info_tab (profession_id int NOT NULL ,profession_name varchar (24) COLLATE Chinese_PRC_CI_AS NOT NULL , PRIMARY KEY CLUSTERED (profession

    16、_id) ON PRIMARY , UNIQUE NONCLUSTERED (profession_name) ON PRIMARY ) ON PRIMARYGOCREATE TABLE vocation_info_tab (vocation_id int NOT NULL ,vocation_name varchar (24) COLLATE Chinese_PRC_CI_AS NOT NULL , PRIMARY KEY CLUSTERED (vocation_id) ON PRIMARY , UNIQUE NONCLUSTERED (vocation_name) ON PRIMARY )

    17、 ON PRIMARYGO2. 登陆数据库的代码:用vc+6.0MFC的window编程,创建登陆窗口,同时添加命令响应,以下是登陆对话框的命令响应函数,连接数据库crm.void CLoginDlg1:OnOK() / TODO: Add extra validation hereUpdateData(true); CDatabase m_db; CString strConnect; strConnect.Format(DSN=%s;UID=%s;PWD=%s,m_bDSN,m_bUsername,m_bPassword); / TRY m_db.OpenEx(strConnect); C

    18、ATCH(CDBException,ex) AfxMessageBox(ex-m_strError);AfxMessageBox(ex-m_strStateNativeOrigin); AND_CATCH(CMemoryException,pEx) pEx-ReportError();AfxMessageBox(MEMORY EXCEPTION); AND_CATCH(CException,e)TCHAR szError100;e-GetErrorMessage(szError,100);AfxMessageBox(szError);END_CATCHCDialog:OnOK();3. 信息列

    19、表控件的控制函数:void CCRDBS1007010103Dlg:InitControl() /DWORD dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_UNDERLINEHOT;m_listArea.SetExtendedStyle(dwExStyle);m_listApproach.SetExtendedStyle(dwExStyle);m_listProfession.SetExtendedStyle(dwExStyle);m_li

    20、stVocation.SetExtendedStyle(dwExStyle);m_listCR.SetExtendedStyle(dwExStyle);/m_listArea.InsertColumn(0,地区ID,LVCFMT_CENTER,50);m_listArea.InsertColumn(1,地区名称,LVCFMT_CENTER,90);/m_listApproach.InsertColumn(0,结识途径,LVCFMT_CENTER,50);m_listApproach.InsertColumn(1,结识途径名称,LVCFMT_CENTER,90);/m_listProfessio

    21、n.InsertColumn(0,职位ID,LVCFMT_CENTER,50);m_listProfession.InsertColumn(1,职位名称,LVCFMT_CENTER,90);/m_listVocation.InsertColumn(0,行业ID,LVCFMT_CENTER,50);m_listVocation.InsertColumn(1,行业名称,LVCFMT_CENTER,90);/m_listCR.InsertColumn(0,客户ID,LVCFMT_CENTER,60);m_listCR.InsertColumn(1,客户名称,LVCFMT_CENTER,80);m_l

    22、istCR.InsertColumn(2,所在地区,LVCFMT_CENTER,80);m_listCR.InsertColumn(3,职业,LVCFMT_CENTER,80);m_listCR.InsertColumn(4,行业,LVCFMT_CENTER,80);m_listCR.InsertColumn(5,所在单位,LVCFMT_CENTER,80);m_listCR.InsertColumn(6,结识途径,LVCFMT_CENTER,80);m_listCR.InsertColumn(7,e-mail,LVCFMT_CENTER,80);m_listCR.InsertColumn(8

    23、,固定电话,LVCFMT_CENTER,80);m_listCR.InsertColumn(9,移动电话,LVCFMT_CENTER,80);m_listCR.InsertColumn(10,爱好,LVCFMT_CENTER,80);m_listCR.InsertColumn(11,说明,LVCFMT_CENTER,140);4. 向四个系统信息列表控件插入数据的控制函数:void CCRDBS1007010103Dlg:InitCtrlData()if(m_db.IsOpen()MessageBox(数据库未打开);return ;TRYCRecordset rs(&m_db);rs.Ope

    24、n(CRecordset:dynaset,select *from area_info_tab order by area_id);while(!rs.IsEOF()int id;CString area;CDBVariant var;/rs.GetFieldValue(short)0,var,SQL_C_SLONG);if(var.m_dwType!=DBVT_NULL)id=var.m_iVal;var.Clear();/rs.GetFieldValue(1,area);InsertConfigItem(&m_listArea,id,area);rs.MoveNext(); rs.Clos

    25、e();/rs.Open(CRecordset:dynaset,select *from approach_info_tab order by approach_id);while(!rs.IsEOF()int id;CString approach;CDBVariant var;/rs.GetFieldValue(short)0,var,SQL_C_SLONG);if(var.m_dwType!=DBVT_NULL)id=var.m_iVal;var.Clear();/rs.GetFieldValue(1,approach);InsertConfigItem(&m_listApproach,

    26、id,approach);rs.MoveNext();rs.Close();/rs.Open(CRecordset:dynaset,select *from profession_info_tab order by profession_id);while(!rs.IsEOF()int id;CString profession;CDBVariant var;/rs.GetFieldValue(short)0,var,SQL_C_SLONG);if(var.m_dwType!=DBVT_NULL)id=var.m_iVal;var.Clear();/rs.GetFieldValue(1,pro

    27、fession);InsertConfigItem(&m_listProfession,id,profession);rs.MoveNext();rs.Close();/rs.Open(CRecordset:dynaset,select *from vocation_info_tab order by vocation_id);while(!rs.IsEOF()int id;CString vocation;CDBVariant var;/rs.GetFieldValue(short)0,var,SQL_C_SLONG);if(var.m_dwType!=DBVT_NULL)id=var.m_

    28、iVal;var.Clear();/rs.GetFieldValue(1,vocation);InsertConfigItem(&m_listVocation,id,vocation);rs.MoveNext();rs.Close();/rs.Open(CRecordset:dynaset,select *from customer_info_tab order by id);while(!rs.IsEOF()int id;CString name,area,profession,vocation,company;CString approach,email,phone,mobile,inte

    29、rest,memo;CDBVariant var;/rs.GetFieldValue(short)0,var,SQL_C_SLONG);if(var.m_dwType!=DBVT_NULL)id=var.m_iVal;var.Clear();/rs.GetFieldValue(1,name);rs.GetFieldValue(2,area);rs.GetFieldValue(3,profession);rs.GetFieldValue(4,vocation);rs.GetFieldValue(5,company);rs.GetFieldValue(6,email);rs.GetFieldVal

    30、ue(7,approach);rs.GetFieldValue(8,phone);rs.GetFieldValue(9,mobile);rs.GetFieldValue(10,interest);rs.GetFieldValue(11,memo);/InsertCRInfoItem(id,name,area,profession,vocation,company,approach,phone,email,mobile,interest,memo);rs.MoveNext();rs.Close();/RefreshAreaComboData();RefreshApprComboData();Re

    31、freshProfComboData();RefreshVocComboData();CATCH(CDBException,ex) AfxMessageBox(ex-m_strError);AfxMessageBox(ex-m_strStateNativeOrigin); AND_CATCH(CMemoryException,pEx)pEx-ReportError();AfxMessageBox(MEMORY EXCEPTION);AND_CATCH(CException,e)TCHAR szError100;e-GetErrorMessage(szError,100);AfxMessageB

    32、ox(szError);END_CATCH5. 刷新列表信息控件的控制函数:void CCRDBS1007010103Dlg:RefreshApprComboData() m_comboApproach.ResetContent();TRYCRecordset rs(&m_db);/rs.Open(CRecordset:dynaset,select *from approach_info_tab);while(!rs.IsEOF()CString strName;/rs.GetFieldValue(1,strName);m_comboApproach.AddString(strName);rs

    33、.MoveNext(); m_comboApproach.SetCurSel(0);CATCH(CDBException,ex) AfxMessageBox(ex-m_strError);AfxMessageBox(ex-m_strStateNativeOrigin); AND_CATCH(CMemoryException,pEx)pEx-ReportError();AfxMessageBox(MEMORY EXCEPTION);AND_CATCH(CException,e)TCHAR szError100;e-GetErrorMessage(szError,100);AfxMessageBo

    34、x(szError);END_CATCHvoid CCRDBS1007010103Dlg:RefreshProfComboData()m_comboProfession.ResetContent();TRYCRecordset rs(&m_db);/rs.Open(CRecordset:dynaset,select *from profession_info_tab);while(!rs.IsEOF()CString strName;/rs.GetFieldValue(1,strName);m_comboProfession.AddString(strName);rs.MoveNext();m

    35、_comboProfession.SetCurSel(0);CATCH(CDBException,ex) AfxMessageBox(ex-m_strError);AfxMessageBox(ex-m_strStateNativeOrigin); AND_CATCH(CMemoryException,pEx)pEx-ReportError();AfxMessageBox(MEMORY EXCEPTION);AND_CATCH(CException,e)TCHAR szError100;e-GetErrorMessage(szError,100);AfxMessageBox(szError);E

    36、ND_CATCHvoid CCRDBS1007010103Dlg:RefreshVocComboData()m_comboVocation.ResetContent();TRYCRecordset rs(&m_db);/rs.Open(CRecordset:dynaset,select *from vocation_info_tab);while(!rs.IsEOF()CString strName;/rs.GetFieldValue(1,strName);m_comboVocation.AddString(strName);rs.MoveNext();m_comboVocation.SetC

    37、urSel(0);CATCH(CDBException,ex) AfxMessageBox(ex-m_strError);AfxMessageBox(ex-m_strStateNativeOrigin); AND_CATCH(CMemoryException,pEx)pEx-ReportError();AfxMessageBox(MEMORY EXCEPTION);AND_CATCH(CException,e)TCHAR szError100;e-GetErrorMessage(szError,100);AfxMessageBox(szError);END_CATCH6. 添加地区信息函数:v

    38、oid CCRDBS1007010103Dlg:OnBtnAreaAdd() / TODO: Add your control notification handler code hereif(!UpdateData()return ;if(m_strConfigArea.IsEmpty()AfxMessageBox(请填写你的地区名称);return;TRYCRecordset rs(&m_db);CString sql;rs.Open(CRecordset:dynaset,Select max(area_id)from area_info_tab );/int newID=1;if(!rs

    39、.IsEOF()CDBVariant var;/rs.GetFieldValue(short)0,var,SQL_C_SLONG);if(var.m_dwType!=DBVT_NULL)newID=var.m_iVal+1;sql.Format(Insert into area_info_tab(area_id, area_name )VALUES( %d,%s),newID,m_strConfigArea);TRACE(sql);m_db.ExecuteSQL(sql);/InsertConfigItem(&m_listArea,newID,m_strConfigArea);RefreshA

    40、reaComboData();CATCH(CDBException,ex) AfxMessageBox(ex-m_strError);AfxMessageBox(ex-m_strStateNativeOrigin); AND_CATCH(CMemoryException,pEx)pEx-ReportError();AfxMessageBox(MEMORY EXCEPTION);AND_CATCH(CException,e)TCHAR szError100;e-GetErrorMessage(szError,100);AfxMessageBox(szError);END_CATCH7. 修改地区信息函数:void CCRDBS100


    注意事项

    本文(客户资源管理系统SQLServer数据库课程设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922