客户管理系统设计与开发毕业论文.doc

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

客户管理系统设计与开发毕业论文.doc

客户管理系统设计与开发毕业论文目录毕业设计任务书………………………………………………………………………1第一章选题背景1.1引言……………………………………………………………………………41.2C/S应用模式的讨论…………………………………………………………4第二章软件工程的实现2.1软件工程指导思想………………………………………………………………52.2调研与分析………………………………………………………………………52.3可行性研究报告…………………………………………………………………52.4项目开发计划……………………………………………………………………62.5模块开发说明书…………………………………………………………………62.6系统流程图如下…………………………………………………………………7第三章后台数据处理3.1数据库后台设计与处理………………………………………………………83.2关于设计数据库………………………………………………………………83.3设计数据库的步骤……………………………………………………………83.4建立数据表………………………………………………………………………9第四章用户使用手册和一些帮助4.1用户手册概要…………………………………………………………………104.2应用系统开发工具……………………………………………………………104.3什么是.NET框架(.NETFramework)…………………………………………114.4C#语言的特点…………………………………………………………………114.5程序清单………………………………………………………………………12第五章个人总结5.1不足与展望………………………………………………………………………555.2致谢……………………………………………………………………………565.3毕业设计心得……………………………………………………………………56第六章参考文献6.1参考文献………………………………………………………………………566.2图解解析说明……………………………………………………………………5779 第一章选题背景1.1引言随着社会经济的快速发展,现在中国出现了许多的销售公司,伴随着公司的不断发展和壮大。网络环境的发展和全国计算机的普及,现在出现了许多的网络销售公司。网络给他们带来了庞大的效益,但随着市场的扩大和客户的不断增加,原来的那中人工管理客户资料的方式不断的出现了问题,在也不能满足公司高速发展的需求。众所周知计算机的运做可以大大提高工作效率,由此带来的经济效益是非常客观的。更主要的是原来的方式容易出现客户的冲突,可能是公司的形象因此受到影响。因此,开发一个适合的客户管理系统是非常重要的。开发小组应严格遵守软件工程的指导思想,制定详细的需求分析方案,与用户做热情而有效的探讨,以用户为工作中心。除此之外,开发小组应对开发工具Microsoft®VisualStudio®.NET有一定的编程了解,,熟悉SQL中ACCESS对数据库的创建和关联。1.2C/S应用模式的讨论现在计算机碰到了和我们人类相同的问题:需要分工合作。为实现多台计算机的分工合作,就要将这些计算机连接起来构成一个计算机网络,网络中各计算机之间能够互相传送数据信息。在一个计算机网络中,如果一些计算机扮演客户(称为客户机、Client),另一些计算机扮演服务者(称为服务器、Server),客户机通过计算机网络向服务器提出计算请求,服务器经过计算,将结果返回给客户机,这样的计算机网络称为客户/服务器计算机网络。79 客户/服务器体系结构的关键在于功能的分布,一些功能放在客户机(称为前置机)上运行,另一些功能放在服务器(称为后端机)上执行。这样能减少计算机系统的各种瓶颈问题.。客户/服务器系统的一般结构如下:服务器客户机客户机客户机客户机(网络)(网络)客户/服务器式DBS是在客户/服务器计算机网络上运行的DBS。有一个数据库服务器管理数据库,应用程序则运行在客户机上,当需要对数据库进行操作时,就向数据库服务器发送一个请求,数据库服务器收到请求后执行相应的数据库操作,并将结果返回给客户机上的应用程序。在客户/服务器式DBS中,数据库应用的功能分成两部分:1)前端部分:由一些应用程序构成。例如:格式处理,报表输出,数据输入,图形界面等。。。实现前端处理和用户界面。2)后端部分:包构存取结构,查询优化,并发控制,恢复等系统程序,完成事务处理和数据访问控制。SQL核心程序图形界面报表输出格式界面SQL用户界面前端…网络(SQL+应用程序接口)后端79 前端和后端间的界面是SQL语句或应用程序。前端部分由客户机完成,后端部分由数据库服务器完成。功能分布的结果减轻了服务器的负担,从而使服务器有更多精力完成事务处理和数据访问控制,支持更多的用户,提高系统的效率。服务器的软件系统是一个DBMS。采用C/S模式的设计能够使相关的学生部门各司其职,很好的保护了各部门数据的的安全性。如果采用单机版(单层结构)的开发模式,则开发小组要分别开发出针对各个部门的程序,部门之间的数据同步、交互的效率很差。更容易产生数据的不一致,而且会造成开发小组的负担很重,维护困难。而C/S模式的设计方案在近10多年来不但得到了广泛的应用,而且取得了相当的成功。从开发周期和技术难度等方面来考虑,采用C/S模式的设计方案对于我们现在的学习水平来说是比较适合的。第二章软件工程的实现2.1软件工程指导思想软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,指导开发小组进行整个软件开发周期合理规划的一门学科。79 软件工程的传统途径是生命周期方法学。从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段都有相对独立的任务,然后逐步完成每个阶段的任务。前一个阶段的完成是开始进行后一个阶段工作的前提和基础,而后一个阶段任务的完成通常是使前一个阶段提出的解法更进一步具体化。一般说来,软件生命周期由软件定义,软件开发和软件维护三个时期组成,每个时期又进一步分成若干个阶段。软件定义时期通常进一步分成三个阶段,即问题定义、可行性研究和需求分析。软件开发时期由下述四个阶段组成:总体设计、详细设计、编码和单元测试,综合测试。软件维护的主要任务是使软件持久的满足用户的需要。具体的说,当软件在使用过程中发现错误时应该加以改正,特别是当软件环境改变、用户有新的需求提出的时候。本小组恪守软件工程的原则,指导本系统开发设计。2.2调研与分析经过深入公司调查和与公司的方面负责人的交流分析得出,在现有技术水平和软硬件条件下,如何开发出一个行之有效的客户管理系统。根据上面所提到的C/S应用模式,利用Microsoftaccess数据库管理系统,MicrosoftVisualStudio.NET,若干台性能较好的PC机,通过网络连接,对于这个系统而言,我们发现在技术上是不成问题的。当然系统在开发出来后,在良好运行状况下,其隐含的经济效益是不言而喻的。开发这个软件主要是针对网络销售公司目前的发展和遇到的问题而定的。一个网络销售公司的销售员工比较多,而已对一般的销售公司,它的人员流动量是相对比较大的。因此它对员工资料的管理就比较频繁。此软件可以实现对公司员工资料的查询、插入新员工、删除已经开除的员工、修改员工资料。网络销售公司的市场广、客户群非常的广,原来的客户管理已经不能在满足现状,新的客户管理系统可以提高对客户资料的浏览、修改、录入新客户资料、删除等功能。因此,积极的与用户交流、分析,并得出详尽的数据流程图是至关重要的一步。2.3可行性研究报告:经过分析,这个系统需要在不同的地理位置,不同的时间进行操作。达到随时随地随人的操作。所以整个系统架构应该为B-S架构。因为公司本来就是一个网络公司,所以用B-S架构比C-S架构来得更加的方便与可行。-架构确定后就要确定用什么工具来进行开发,第一个方案:CGI+IIS开发;这个开发环境是比较原始的一种开发工具,很多东西都是要写脚本,而且操作那些控件是一件非常麻烦的事情。所以放弃用CGI+IIS开发。第二个方案:JS+IIS79 开发:这个有很多的好处,简化了CGI的很多代码,而且速度还挺快的。但是有一个问题,就是它只能用静态的网页,就是说显示一些文字,图片等很好用,数据库方面根本就不行。所以放弃用JS+IIS开发。第三个方案:ASP+IIS开发:这个方案解决了动态网站的问题,也可以很方便的用ADO连接数据库,更改数据库。但是ASP都是用代码来嵌套到HTML的,所以都用代码来实现,所以出现了一个问题,如果有很多的控件的时候,那种重复的代码将是非常的长,而且很烦琐。一个字,就是麻烦,而且代码非常的不清晰,从头看到尾就开始头晕了。所以需要找一个更为方便的开发工具。第四种方案:ASP。NET+IIS开发。用ASP。NET开发,集成了以上的大部分的优点,而且代码非常清晰,代码形式有两种,一种是自己这种格式的代码,另一种是HTML格式的代码,所以如果你很精通HTML也可以直接修改HTML代码来实现想要的功能。以上已经确定了开发软件的工具,现在要确定的是美工上面的工具,我们选择了PHOTOSHOP,因为他功能强大,可以实现你想得到的绝大部分功能。当然FILEWORE也可以,但是这个我了解得不多。2.4项目开发计划:第一周:熟悉开发环境,开发工具的使用各种控件的功能,怎么实现其功能。第二周~第四周:构思需求说明,系统规划,系统流程图,数据要求,数据结构。第五周:确定系统功能模块,各个功能模块的分工。第六周~第七周:写功能模块的代码。第八周~第九周:测试与调试功能模块,并修改其中的BUG。第十周:上线运行测试。2.5模块开发说明书:79 系统模块分为三大个部分:用户管理模块,客户管理模块,登陆模块。各个模块具体的功能如下:用户管理模块包括两个部分,第一:用户密码修改,第二:用户基本资料修改。登陆模块就用户合法性判断功能。客户管理模块包括四个部分,第一:增加直销会员,第二:修改直销会员,第三:直销会员列表查询。2.6系统流程图如下:释放系统资源程序开始直销会员查询增加直销会员增加新用户(管理员)用户密码修改用户资料修改退出系统会员管理用户管理选择模块系统首页非法登录失败合法登录界面用户登录合法性判断79 第三章后台数据处理3.1数据库后台设计与处理一个好的数据库设计方法应该能够在合理的期限内,以合理的工作量产生一个有实用价值的数据库结构。这里的“实用价值”是指满足用户关于功能、性能、安全性、完整性及发展需求等发面的要求,同时又服从于特定的DBMS的约束,并且可用简单的数据模型来表示。设计方法应具有足够的灵活性和通用性,不仅能够为具有不同经验的人所使用,而且能够为受不同数据模型及不同DBMS限制的人所使用。79 3.2关于设计数据库在使用MicrosoftAccess实际地建立构成数据库的表、窗体和其他对象之前,设计数据库是很重要的。无论是使用MicrosoftAccess数据库或是MicrosoftAccess项目,合理的设计是创建能够有效地、准确地、及时地完成所需功能的数据库的基础。3.3设计数据库的步骤1.确定该表中需要的字段2.明确每条记录中有唯一值的字段3.确定表之间的关系4.优化设计5.输入数据并创建其他数据库对象6.使用MicrosoftAccess的分析工具MicrosoftAccess有两个工具可以帮助改进MicrosoftAccess数据库的设计。“表分析器向导”一次能分析一个表的设计,并适当的情况下能建议新的表结构和关系,并且在合理的情况下在相关的新表中拆分原来的表。“性能分析器”能分析整个数据库,并且做出推荐和建议来改善数据库。在该项目中,我们创建了3个表:3.4建立数据表Company表:公司名,公司网址,关键字,联系电话,联系人,公司地址person表:用户名,密码,部门,级别,电子邮箱,电话url表:公司名,公司网址,关键字,跟踪人,跟踪开始日期,处理79 Person表:字段名:类型是否为空缺省值备注用户名char(20)否登录用的ID密码char(20)否登录用的密码部门char(20)否该用户所在的部门级别char(20)否普通用户电子油箱char(20)否电话num(11)Company表:字段名:类型是否为空缺省值备注公司名char(20)否公司网址char(20)否关键字char(20)否联系电话否联系人公司地址79 URL表:字段名:类型是否为空缺省值备注公司名char(20)否公司网址char(20)否关键字char(20)否跟踪人char(20)否跟踪开始日期处理access会自动帮我们设置每个字段的类型和长度,我们可以省去这些设置,对建表来说是个很好的工具。第四章用户使用手册和一些帮助4.1用户手册概要:1:用户在IE地址栏上输入登录首页的网址,在用户登录上输入管理员给你的用户ID,和用户密码。登录成功使用系统。2:在系统首页上,点击会员资料修改,进入用户管理模块的用户资料修改单元,里面进行一些资料的修改。3:在系统首页上,点击会员密码修改,进入会用户理模块的用户密码修改单元,先输入用户原始密码,再两次输入新密码,如果旧密码正确,而且两个新密码相同,则密码修改成功。79 4:在系统首页上,点击增加直销会员,进入会员管理模块中的增加会员单元,输入会员的网址,点击添加,如果该会员网址没有被其他用户使用,就能转到客户详细信息添加功能单元,如果该会员网址被其他用户使用,则添加失败,提示该会员已被跟踪。5:在系统首页上,点击修改直销会员,进入会员管理模块中的修改直销会员单元。首先输入要修改的会员网址,查找,如果存在,而且是自己跟踪的,就进入修改会员资料的功能界面,可以修改公司的网址,电话等一些信息。如果查找失败则不没有资料或者没有权利修改该会员。6:在系统首页上,点击直销会员列表查询,进入会员管理模块中的直销会员列表查询单元。里面提供不同种的查询条件选择,实现了最大限度查询的功能。查询出来的记录用一个列表显示,二十行一页,如果没有二十行就只有一页。在结果列表中,点击修改字段可以转到修改功能单元中去,实现直接修改功能。7:在系统首页上,点击未达标用户列表,进入会员管理模块中的未达标用户列表单元,里面提供了多种的查询方式,可以按部门查询,可以按用户ID查询,可以按用户名查询,可以按部门经理查询。8:在系统首页上,点击退出,则退出该系统。完成系统操作。4.2应用系统开发工具本小组采用access来建立后台的数据库,用asp.net来完成前台的界面设计与用C#来开发后台的程序代码。4.3什么是.NET框架(.NETFramework).NET是Microsoft最新推出的完全面向对象的开发平台,是一种分布式运算框架,以XML(eXtensibleMarkupLanguage,可扩展标示语言)为基础,以Web服务为核心辅以其他各种技术实现,意在充分利用Internet上强大的计算资源和丰富的带宽资源,提高用户的工作效率。.NET79 框架定义了一种支持高度分散的、基于组件的应用程序的开发和执行的环境。它允许不同的计算机语言一起工作,并给Windows平台提供安全性、程序可移植和通用程序设计模型。但是有一点是非常重要的,.NET框架不是固有局限于Windows的(虽然Windows是当前可用的唯一环境),也就是说,将来为Windows编写的程序也许可以移植到非Windows环境。因为.NET框架与C#相关,所以它定义两个非常重要的实体。首先是通用语言运行时(CommonLanguageRuntime,CLR),这是管理程序执行的系统。连同其他优点,CLR还是.NET框架中允许程序移植、支持混合语言程序设计和提供安全性的一部分。第二个实体是.NET类库(classlibrary)。该库让程序有权访问运行时环境。例如,如果想要进行I/O操作(如在屏幕上显示信息),那么需要使用.NET类库来实现。对于程序设计新手,"类"(class)是一个新术语。类是帮助组织程序的面向对象构件。只要程序满足.NET类库定义的特征,它就能在任何支持.NET运行时系统的地方运行。由于C#自动利用.NET类库,所以C#程序可以自动移植到任何.NET环境。4.4C#语言的特点C#是C++的发展和演化,它是随VisualStudio.Net而提出的一个先进的、安全的、面向对象的编程语言,它能够方便快捷的在网络平台建立各种应用程序。从开发语言角度来讲C#可以更好帮助开发人员避免错误,提高工作效率,而且同时具有C/C++的强大功能。C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。它忠实的继承了C和C++的优点,如果你对C或C++有所了解,你会发现它是那样的熟悉。即使你是为新手,C#也不会给你带来任何其他的麻烦。快速应用程序开发(RapidApplicationDevelopment,RAD)的思想与简洁的语法将会使你迅速成为一名熟练的开发人员。C#是专门为.NET应用而开发的语言,这从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现的淋漓尽致。C#有以下一些突出的特点:a.简洁的语法b.精心的面向对象设计c.与Wed的紧密结合79 d.完整的安全性与错误处理e.版本处理技术f.灵活性与兼容性3.4.3ASP.NETWebServiceASP.NET使用.asmx文件来对WebServices的支持。.asmx文件和.aspx文件一样都属于文本文件。它包含在.aspx文件之中,成为ASP.NET应用程序的一部分。<%@Pagelanguage="c#"Codebehind="addCompany1.aspx.cs"AutoEventWireup="false"Inherits="sheng.addCompany1"%>addCompany1查询直销会员是否已被跟踪www.4.5程序清单namespacesheng{//////addCompany1的摘要说明。///publicclassaddCompany1:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.LabelLabel1;protectedSystem.Web.UI.WebControls.ButtonbtnQuery;protectedSystem.Web.UI.WebControls.TextBoxtxtURL;protectedSystem.Web.UI.WebControls.LabelLabel2;privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改79 ///此方法的内容。///privatevoidInitializeComponent(){this.btnQuery.Click+=newSystem.EventHandler(this.Button1_Click);this.Load+=newSystem.EventHandler(this.Page_Load);}#endregionprivatevoidButton1_Click(objectsender,System.EventArgse){OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath("access/sheng.mdb");OleDbCommandComm=newOleDbCommand();Comm.CommandText="select跟踪人fromurlwhere公司网址="www."+this.txtURL.Text.Trim()+""";Comm.Connection=Conn;Conn.Open();OleDbDataReaderrd=Comm.ExecuteReader();stringtrack_name="";if(rd.Read())track_name=rd[0].ToString();rd.Close();Conn.Close();if(track_name=="")Response.Redirect("addCompany2.aspx?companyURL="+this.txtURL.Text.Trim());elseif(!track_name.Equals(Session["name"].ToString()))Response.Redirect("hasExist.aspx?message=已被别人跟踪");elseResponse.Redirect("hasExist.aspx?message=已被您跟踪");}}namespacesheng{///79 ///modifyCompany的摘要说明。///publicclassmodifyCompany:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.LabelLabel1;protectedSystem.Web.UI.WebControls.LabelLabel2;protectedSystem.Web.UI.WebControls.LabelLabel3;protectedSystem.Web.UI.WebControls.LabelLabel4;protectedSystem.Web.UI.WebControls.LabelLabel5;protectedSystem.Web.UI.WebControls.LabelLabel6;protectedSystem.Web.UI.WebControls.TextBoxtxtComAdd;protectedSystem.Web.UI.WebControls.TextBoxtxtContact;protectedSystem.Web.UI.WebControls.TextBoxtxtTel;protectedSystem.Web.UI.WebControls.TextBoxtxtComName;protectedSystem.Web.UI.WebControls.TextBoxtxtKeyWord;protectedSystem.Web.UI.WebControls.ButtonbtnAdd;protectedSystem.Web.UI.WebControls.LabelLabAddUrl;protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRequiredFieldValidator1;protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRequiredFieldValidator2;protectedSystem.Web.UI.WebControls.LabellabURL;privatevoidPage_Load(objectsender,System.EventArgse){this.labURL.Text=Request["companyURL"].ToString();}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。79 ///privatevoidInitializeComponent(){this.btnAdd.Click+=newSystem.EventHandler(this.btnAdd_Click);this.Load+=newSystem.EventHandler(this.Page_Load);}#endregionprivatevoidbtnAdd_Click(objectsender,System.EventArgse){OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath("access/sheng.mdb");OleDbCommandComm=newOleDbCommand();Comm.CommandText="insertintocompany(公司名,公司网址,关键字,联系电话,联系人,公司地址)values(""+txtComName.Text.Trim()+"","www."+this.labURL.Text+"",""+txtKeyWord.Text.Trim()+"",""+txtTel.Text.Trim()+"",""+txtContact.Text.Trim()+"",""+txtComAdd.Text.Trim()+"")";Comm.Connection=Conn;Conn.Open();intcount=0;count=Comm.ExecuteNonQuery();Comm.CommandText="insertintourl(公司名,公司网址,关键字,跟踪人,跟踪开始日期,处理)values(""+txtComName.Text.Trim()+"","www."+this.labURL.Text+"",""+this.txtKeyWord.Text.Trim()+"",""+Session["name"].ToString()+"",""+System.DateTime.Now.ToString()+"","修改")";count+=Comm.ExecuteNonQuery();Conn.Close();if(count==0)Response.Redirect("addResult.aspx?result=增加失败,请重试");79 elseResponse.Redirect("addResult.aspx?result=增加成功");}}}}namespacesheng.access{//////addResult的摘要说明。///publicclassaddResult:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.LabelLabel1;privatevoidPage_Load(objectsender,System.EventArgse){this.Label1.Text=Request["result"].ToString();}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent()79 {this.Load+=newSystem.EventHandler(this.Page_Load);}#endregion}}namespacesheng.access{//////addsuccess的摘要说明。///publicclassaddsuccess:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.Labellabaddsuccess;privatevoidPage_Load(objectsender,System.EventArgse){}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){this.Load+=newSystem.EventHandler(this.Page_Load);}79 #endregion}}}namespacesheng{//////adduser的摘要说明。///publicclassadduser:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.LabelLabadduser;protectedSystem.Web.UI.WebControls.LabelLabnewuser;protectedSystem.Web.UI.WebControls.TextBoxTxtnewuser;protectedSystem.Web.UI.WebControls.LabelLabKeyword;protectedSystem.Web.UI.WebControls.LabelLabKeyword2;protectedSystem.Web.UI.WebControls.LabelLabdepart;protectedSystem.Web.UI.WebControls.LabelLablevel;protectedSystem.Web.UI.WebControls.LabelLabEmail;protectedSystem.Web.UI.WebControls.TextBoxtxtKeyword2;protectedSystem.Web.UI.WebControls.TextBoxtxtdepart;protectedSystem.Web.UI.WebControls.TextBoxtxtllevel;protectedSystem.Web.UI.WebControls.TextBoxtxtEmail;protectedSystem.Web.UI.WebControls.TextBoxtxttel;protectedSystem.Web.UI.WebControls.LabelLabtel;protectedSystem.Web.UI.WebControls.TextBoxtxtPassword;protectedSystem.Web.UI.WebControls.CompareValidatorCompareValidator1;protectedSystem.Web.UI.WebControls.RegularExpressionValidatorRegularExpressionValidator1;protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRequiredFieldValidator1;protectedSystem.Web.UI.WebControls.ValidationSummaryValidationSummary1;protectedSystem.Web.UI.WebControls.ButtonbtnAffair;privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面}79 #regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){this.btnAffair.Click+=newSystem.EventHandler(this.btnAffair_Click);}#endregionprivatevoidbtnAffair_Click(objectsender,System.EventArgse){OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath("access/sheng.mdb");OleDbCommandComm=newOleDbCommand();Comm.CommandText="insertintoperson(用户名,密码,部门,级别,电子邮箱,电话)values(""+this.Txtnewuser.Text.Trim()+"",""+this.txtPassword.Text+"",""+this.txtdepart.Text+"",""+this.txtllevel.Text.Trim()+"",""+this.txtEmail.Text.Trim()+"",""+this.txttel.Text.Trim()+"")";Comm.Connection=Conn;Conn.Open();intcount=Comm.ExecuteNonQuery();Conn.Close();if(count==0)Response.Redirect("loginerror.aspx");79 elseResponse.Redirect("addsuccess.aspx");}}}namespacesheng{usingSystem;usingSystem.Data;usingSystem.Xml;usingSystem.Runtime.Serialization;[Serializable()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Diagnostics.DebuggerStepThrough()][System.ComponentModel.ToolboxItem(true)]publicclassDataSet1:DataSet{privateurlDataTabletableurl;publicDataSet1(){this.InitClass();System.ComponentModel.CollectionChangeEventHandlerschemaChangedHandler=newSystem.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);this.Tables.CollectionChanged+=schemaChangedHandler;this.Relations.CollectionChanged+=schemaChangedHandler;}protectedDataSet1(SerializationInfoinfo,StreamingContextcontext){stringstrSchema=((string)(info.GetValue("XmlSchema",typeof(string))));if((strSchema!=null)){DataSetds=newDataSet();ds.ReadXmlSchema(newXmlTextReader(newSystem.IO.StringReader(strSchema)));if((ds.Tables["url"]!=null)){this.Tables.Add(newurlDataTable(ds.Tables["url"]));}this.DataSetName=ds.DataSetName;79 this.Prefix=ds.Prefix;this.Namespace=ds.Namespace;this.Locale=ds.Locale;this.CaseSensitive=ds.CaseSensitive;this.EnforceConstraints=ds.EnforceConstraints;this.Merge(ds,false,System.Data.MissingSchemaAction.Add);this.InitVars();}else{this.InitClass();}this.GetSerializationData(info,context);System.ComponentModel.CollectionChangeEventHandlerschemaChangedHandler=newSystem.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);this.Tables.CollectionChanged+=schemaChangedHandler;this.Relations.CollectionChanged+=schemaChangedHandler;}[System.ComponentModel.Browsable(false)][System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]publicurlDataTableurl{get{returnthis.tableurl;}}publicoverrideDataSetClone(){DataSet1cln=((DataSet1)(base.Clone()));cln.InitVars();returncln;}protectedoverrideboolShouldSerializeTables(){returnfalse;}protectedoverrideboolShouldSerializeRelations(){79 returnfalse;}protectedoverridevoidReadXmlSerializable(XmlReaderreader){this.Reset();DataSetds=newDataSet();ds.ReadXml(reader);if((ds.Tables["url"]!=null)){this.Tables.Add(newurlDataTable(ds.Tables["url"]));}this.DataSetName=ds.DataSetName;this.Prefix=ds.Prefix;this.Namespace=ds.Namespace;this.Locale=ds.Locale;this.CaseSensitive=ds.CaseSensitive;this.EnforceConstraints=ds.EnforceConstraints;this.Merge(ds,false,System.Data.MissingSchemaAction.Add);this.InitVars();}protectedoverrideSystem.Xml.Schema.XmlSchemaGetSchemaSerializable(){System.IO.MemoryStreamstream=newSystem.IO.MemoryStream();this.WriteXmlSchema(newXmlTextWriter(stream,null));stream.Position=0;returnSystem.Xml.Schema.XmlSchema.Read(newXmlTextReader(stream),null);}internalvoidInitVars(){this.tableurl=((urlDataTable)(this.Tables["url"]));if((this.tableurl!=null)){this.tableurl.InitVars();}}privatevoidInitClass(){this.DataSetName="DataSet1";this.Prefix="";this.Namespace="http://www.tempuri.org/DataSet1.xsd";79 this.Locale=newSystem.Globalization.CultureInfo("zh-CN");this.CaseSensitive=false;this.EnforceConstraints=true;this.tableurl=newurlDataTable();this.Tables.Add(this.tableurl);}privateboolShouldSerializeurl(){returnfalse;}privatevoidSchemaChanged(objectsender,System.ComponentModel.CollectionChangeEventArgse){if((e.Action==System.ComponentModel.CollectionChangeAction.Remove)){this.InitVars();}}publicdelegatevoidurlRowChangeEventHandler(objectsender,urlRowChangeEvente);[System.Diagnostics.DebuggerStepThrough()]publicclassurlDataTable:DataTable,System.Collections.IEnumerable{privateDataColumncolumn处理;privateDataColumncolumn跟踪开始日期;privateDataColumncolumn跟踪人;privateDataColumncolumn公司名;privateDataColumncolumn公司网址;privateDataColumncolumn关键字;internalurlDataTable():base("url"){this.InitClass();79 }internalurlDataTable(DataTabletable):base(table.TableName){if((table.CaseSensitive!=table.DataSet.CaseSensitive)){this.CaseSensitive=table.CaseSensitive;}if((table.Locale.ToString()!=table.DataSet.Locale.ToString())){this.Locale=table.Locale;}if((table.Namespace!=table.DataSet.Namespace)){this.Namespace=table.Namespace;}this.Prefix=table.Prefix;this.MinimumCapacity=table.MinimumCapacity;this.DisplayExpression=table.DisplayExpression;}[System.ComponentModel.Browsable(false)]publicintCount{get{returnthis.Rows.Count;}}internalDataColumn处理Column{get{returnthis.column处理;}}internalDataColumn跟踪开始日期Column{get{returnthis.column跟踪开始日期;}}internalDataColumn跟踪人Column{get{79 returnthis.column跟踪人;}}internalDataColumn公司名Column{get{returnthis.column公司名;}}internalDataColumn公司网址Column{get{returnthis.column公司网址;}}internalDataColumn关键字Column{get{returnthis.column关键字;}}publicurlRowthis[intindex]{get{return((urlRow)(this.Rows[index]));}}publiceventurlRowChangeEventHandlerurlRowChanged;publiceventurlRowChangeEventHandlerurlRowChanging;publiceventurlRowChangeEventHandlerurlRowDeleted;publiceventurlRowChangeEventHandlerurlRowDeleting;publicvoidAddurlRow(urlRowrow){this.Rows.Add(row);}publicurlRowAddurlRow(string处理,string跟踪开始日期,string79 跟踪人,string公司名,string公司网址,string关键字){urlRowrowurlRow=((urlRow)(this.NewRow()));rowurlRow.ItemArray=newobject[]{处理,跟踪开始日期,跟踪人,公司名,公司网址,关键字};this.Rows.Add(rowurlRow);returnrowurlRow;}publicurlRowFindBy公司网址(string公司网址){return((urlRow)(this.Rows.Find(newobject[]{公司网址})));}publicSystem.Collections.IEnumeratorGetEnumerator(){returnthis.Rows.GetEnumerator();}publicoverrideDataTableClone(){urlDataTablecln=((urlDataTable)(base.Clone()));cln.InitVars();returncln;}protectedoverrideDataTableCreateInstance(){returnnewurlDataTable();}internalvoidInitVars(){this.column处理=this.Columns["处理"];this.column跟踪开始日期=this.Columns["跟踪开始日期"];this.column跟踪人=this.Columns["跟踪人"];this.column公司名=this.Columns["公司名"];this.column公司网址=this.Columns["公司网址"];this.column关键字=this.Columns["关键字"];}79 privatevoidInitClass(){this.column处理=newDataColumn("处理",typeof(string),null,System.Data.MappingType.Element);this.Columns.Add(this.column处理);this.column跟踪开始日期=newDataColumn("跟踪开始日期",typeof(string),null,System.Data.MappingType.Element);this.Columns.Add(this.column跟踪开始日期);this.column跟踪人=newDataColumn("跟踪人",typeof(string),null,System.Data.MappingType.Element);this.Columns.Add(this.column跟踪人);this.column公司名=newDataColumn("公司名",typeof(string),null,System.Data.MappingType.Element);this.Columns.Add(this.column公司名);this.column公司网址=newDataColumn("公司网址",typeof(string),null,System.Data.MappingType.Element);this.Columns.Add(this.column公司网址);this.column关键字=newDataColumn("关键字",typeof(string),null,System.Data.MappingType.Element);this.Columns.Add(this.column关键字);this.Constraints.Add(newUniqueConstraint("Constraint1",newDataColumn[]{this.column公司网址},true));this.column公司网址.AllowDBNull=false;this.column公司网址.Unique=true;}publicurlRowNewurlRow(){return((urlRow)(this.NewRow()));}protectedoverrideDataRowNewRowFromBuilder(DataRowBuilderbuilder){returnnewurlRow(builder);}protectedoverrideSystem.TypeGetRowType(){returntypeof(urlRow);}protectedoverridevoidOnRowChanged(DataRowChangeEventArgse){79 base.OnRowChanged(e);if((this.urlRowChanged!=null)){this.urlRowChanged(this,newurlRowChangeEvent(((urlRow)(e.Row)),e.Action));}}protectedoverridevoidOnRowChanging(DataRowChangeEventArgse){base.OnRowChanging(e);if((this.urlRowChanging!=null)){this.urlRowChanging(this,newurlRowChangeEvent(((urlRow)(e.Row)),e.Action));}}protectedoverridevoidOnRowDeleted(DataRowChangeEventArgse){base.OnRowDeleted(e);if((this.urlRowDeleted!=null)){this.urlRowDeleted(this,newurlRowChangeEvent(((urlRow)(e.Row)),e.Action));}}protectedoverridevoidOnRowDeleting(DataRowChangeEventArgse){base.OnRowDeleting(e);if((this.urlRowDeleting!=null)){this.urlRowDeleting(this,newurlRowChangeEvent(((urlRow)(e.Row)),e.Action));}}publicvoidRemoveurlRow(urlRowrow){this.Rows.Remove(row);}}[System.Diagnostics.DebuggerStepThrough()]publicclassurlRow:DataRow{79 privateurlDataTabletableurl;internalurlRow(DataRowBuilderrb):base(rb){this.tableurl=((urlDataTable)(this.Table));}publicstring处理{get{try{return((string)(this[this.tableurl.处理Column]));}catch(InvalidCastExceptione){thrownewStrongTypingException("无法获取值,因为它是DBNull。",e);}}set{this[this.tableurl.处理Column]=value;}}publicstring跟踪开始日期{get{try{return((string)(this[this.tableurl.跟踪开始日期Column]));}catch(InvalidCastExceptione){thrownewStrongTypingException("无法获取值,因为它是DBNull。",e);}}set{this[this.tableurl.跟踪开始日期Column]=value;}}publicstring跟踪人{get{try{79 return((string)(this[this.tableurl.跟踪人Column]));}catch(InvalidCastExceptione){thrownewStrongTypingException("无法获取值,因为它是DBNull。",e);}}set{this[this.tableurl.跟踪人Column]=value;}}publicstring公司名{get{try{return((string)(this[this.tableurl.公司名Column]));}catch(InvalidCastExceptione){thrownewStrongTypingException("无法获取值,因为它是DBNull。",e);}}set{this[this.tableurl.公司名Column]=value;}}publicstring公司网址{get{return((string)(this[this.tableurl.公司网址Column]));}set{this[this.tableurl.公司网址Column]=value;}}publicstring关键字{get{try{return((string)(this[this.tableurl.关键字Column]));}79 catch(InvalidCastExceptione){thrownewStrongTypingException("无法获取值,因为它是DBNull。",e);}}set{this[this.tableurl.关键字Column]=value;}}publicboolIs处理Null(){returnthis.IsNull(this.tableurl.处理Column);}publicvoidSet处理Null(){this[this.tableurl.处理Column]=System.Convert.DBNull;}publicboolIs跟踪开始日期Null(){returnthis.IsNull(this.tableurl.跟踪开始日期Column);}publicvoidSet跟踪开始日期Null(){this[this.tableurl.跟踪开始日期Column]=System.Convert.DBNull;}publicboolIs跟踪人Null(){returnthis.IsNull(this.tableurl.跟踪人Column);}publicvoidSet跟踪人Null(){this[this.tableurl.跟踪人Column]=System.Convert.DBNull;}publicboolIs公司名Null(){returnthis.IsNull(this.tableurl.公司名Column);}publicvoidSet公司名Null(){this[this.tableurl.公司名Column]=System.Convert.DBNull;}79 publicboolIs关键字Null(){returnthis.IsNull(this.tableurl.关键字Column);}publicvoidSet关键字Null(){this[this.tableurl.关键字Column]=System.Convert.DBNull;}}[System.Diagnostics.DebuggerStepThrough()]publicclassurlRowChangeEvent:EventArgs{privateurlRoweventRow;privateDataRowActioneventAction;publicurlRowChangeEvent(urlRowrow,DataRowActionaction){this.eventRow=row;this.eventAction=action;}publicurlRowRow{get{returnthis.eventRow;}}publicDataRowActionAction{get{returnthis.eventAction;}}}}}namespacesheng{//////DbOperator的摘要说明。///79 [DefaultProperty("Text"),ToolboxData("<{0}:DbOperatorrunat=server>")]publicclassDbOperator:System.Web.UI.WebControls.WebControl{privatestringtext;privatestringConnectionString;privatestringsqlString;[Bindable(true),Category("Appearance"),DefaultValue("")]publicstringText{get{returntext;}set{text=value;}}//////将此控件呈现给指定的输出参数。//////要写出到的HTML编写器protectedoverridevoidRender(HtmlTextWriteroutput){output.Write(Text);}}}namespacesheng{//////userlogin的摘要说明。///79 publicclassuserlogin:System.Web.UI.Page{privatevoidPage_Load(objectsender,System.EventArgse){if(Session["name"]==null)Response.Redirect("index.aspx");System.DateTimedt=System.DateTime.Now;dt.AddDays(-30);OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath("access/sheng.mdb");OleDbCommandComm=newOleDbCommand();Comm.CommandText="updateurlset跟踪人="",处理="跟踪",跟踪开始日期=""where跟踪开始日期<""+dt.ToString()+""";Comm.Connection=Conn;Conn.Open();Comm.ExecuteNonQuery();Conn.Close();}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){this.Load+=newSystem.EventHandler(this.Page_Load);}#endregion}}79 namespacesheng{//////Global的摘要说明。///publicclassGlobal:System.Web.HttpApplication{//////必需的设计器变量。///privateSystem.ComponentModel.IContainercomponents=null;publicGlobal(){InitializeComponent();}protectedvoidApplication_Start(Objectsender,EventArgse){}protectedvoidSession_Start(Objectsender,EventArgse){}protectedvoidApplication_BeginRequest(Objectsender,EventArgse){}protectedvoidApplication_EndRequest(Objectsender,EventArgse){}protectedvoidApplication_AuthenticateRequest(Objectsender,EventArgse){79 }protectedvoidApplication_Error(Objectsender,EventArgse){}protectedvoidSession_End(Objectsender,EventArgse){}protectedvoidApplication_End(Objectsender,EventArgse){}#regionWeb窗体设计器生成的代码//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){this.components=newSystem.ComponentModel.Container();}#endregion}}namespacesheng{//////hasExist的摘要说明。///publicclasshasExist:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.LabelLabel1;privatevoidPage_Load(objectsender,System.EventArgse){79 this.Label1.Text=Request["message"].ToString();}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){this.Load+=newSystem.EventHandler(this.Page_Load);}#endregion}}namespacesheng{//////huiyuanliebiao的摘要说明。///publicclasshuiyuanliebiao:System.Web.UI.Page{privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){//79 //CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){this.Load+=newSystem.EventHandler(this.Page_Load);}#endregion}}namespacesheng{//////WebForm1的摘要说明。///publicclassWebForm1:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.ImageImage1;protectedSystem.Web.UI.WebControls.LabelLabel3;protectedSystem.Web.UI.WebControls.LabelLabel4;protectedSystem.Web.UI.WebControls.ButtonbtnLogin;protectedSystem.Web.UI.WebControls.TextBoxtxtPassword;protectedSystem.Web.UI.WebControls.LabellabMessage;protectedSystem.Web.UI.WebControls.TextBoxtxtName;privatevoidPage_Load(objectsender,System.EventArgse){if(Session["name"]!=null)Session["name"]=null;if(Request["message"]!=null){labMessage.Text=Request["message"].ToString();labMessage.Visible=true;}79 }#regionWeb窗体设overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){this.btnLogin.Click+=newSystem.EventHandler(this.Button1_Click);this.Load+=newSystem.EventHandler(this.Page_Load);}#endregionprivatevoidButton1_Click(objectsender,System.EventArgse){OleDbConnectionConn=newOleDbConnection();//建立一个初始的数据库链接conn//对conn进行初始化Conn.ConnectionString="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath("access/sheng.mdb");//建立一个初始命令对象OleDbCommandComm=newOleDbCommand();//初始化comm命令对象Comm.CommandText="select部门,级别frompersonwhere用户名=""+txtName.Text.Trim()+""and密码=""+txtPassword.Text.Trim()+""";Comm.Connection=Conn;//打开数据库链接Conn.Open();79 intcount=0;//建立一个初始的数据库阅读器OleDbDataReaderdr=Comm.ExecuteReader();if(dr.Read()){Session["Name"]=txtName.Text.Trim();Session["department"]=dr[0].ToString();Session["level"]=dr[1].ToString();dr.Close();Conn.Close();}elseResponse.Redirect("index.aspx?message=登录失败");Response.Redirect("frame.aspx");}}}