版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、济南大学毕业设计摘 要一般的企事业单位的办公系统都运行在局域网内,遇到人员出差等可以利用公网电子邮件,但无法通过内部办公系统及时处理工作。该设计通过特定的数据格式,使用电子邮件作为通信通道,实现远程办公,可以突破目前办公软件局域网的限制。突破局域网限制还可以从网络层入手,但一般需要特殊网络设备,对于小型公司来讲,成本上不合理。本设计分为两大部分,第一部分为一个简单的公司内部办公系统,形式为网站。第二部分为一个windows窗口程序,用办公邮箱登陆。利用第三方的邮件服务,实现第一部分和第二部分间的相互通信。运用C#可以方便的实现邮件发送与接收,能快速的开发出小型企业网站。系统实现了工作任务的申请
2、、布置、提交、审核等等。员工在外出差时,利用windows窗口程序可以进行任务的处理和申请。当然网站端还有基本的账户管理。本设计是针对具体的办公系统,实现的远程办公,虽然失去了一定的通用性,但其实用性大大提高。同时,作为毕业设计,其最重要的功能是可以熟悉使用C#进行电子邮件编程,熟悉使用开发简单的公司的办公系统。提升自己的分析问题、解决问题、动手实践的能力。关键词:远程办公;小型企业网站;SMTP协议;邮件客户端ABSTRACTMost of the companys office system can only run at the LAN which they in. When someo
3、ne of them is on a business trip, they can use public email, but couldnt get work done efficiently. This design through the particular data format, use email as a communication channel, to realize the remote office, can break through the limits of the LAN. We can also breakthrough the limit from net
4、work layer, but that need special network equipment, for the small company terms, the cost is not reasonable. This design has two parts. The first part is a web site, as the office system. The second part is a Window Application Program, with office E-mail landed. It uses other mail service to conne
5、ct the first part and the second part. C# can realize mail sending and receiving conveniently. A can develop small web site rapidly. It can apply, layout, submit, examine mission and so on. When employees on business trips, they can use the second part apply for and processing the task. Of course, t
6、he website has the basic account management functions.This design is for the specific office system, although lost some generality, but the practicality is greatly increased. At the same time, as the graduation design, the most important function is that it let me learn more about C# for email progr
7、amming and familiar with use develop companys office system. Improve myself to analyze and solve problems, and improve the ability of practice.Key words:Telecommuting; Small business site; The SMTP protocol; Mail clientIV目 录摘 要IABSTRACTII1 前言11.1 选题背景与意义11.2相关技术介绍12需求分析32.1 系统中存在的角色32.2 分角色分析32.3 输入
8、输出要求42.4 远程通信要求53概要设计63.1 系统简介63.2 网站和windows窗口程序的关系63.3 网站部分介绍63.4 窗口程序部分介绍74数据库部分的设计84.1 E-R简图84.2 基本表与参照关系84.3 工具类145网站详细设计155.1 工程文件结构155.2 按模块介绍165.2.1 登陆模块165.2.2 员工增删改185.2.3 个人信息维护245.2.4 任务申请255.2.5 任务布置275.2.6 任务提交295.2.7 任务审核325.2.8 任务汇总查看335.3 母版页使用介绍345.3.1 基本使用345.3.2 相对路径与绝对路径的问题355.4
9、 独立小功能介绍365.4.1 运用javascript关闭当前页365.4.2 判断当前机器是否联网365.4.2 输入日期时弹出日历控件366窗口程序详细设计396.1 工程文件结构396.2 模块介绍406.2.1 任务查看406.2.2 任务申请416.2.3 任务提交426.3 补充介绍437远程通信设计457.1 简介457.2 网站端发送消息457.2.1 布置任务时同时发送457.2.2 刷新任务池时,取出符合条件的发送467.3 窗口程序接消息487.4 窗口程序发消息497.4.1 申请时发送497.4.2 提交时发送497.5 网站端解析消息498一个简单的流程测试528
10、.1 简介528.2 测试52结 论60参 考 文 献61致 谢621 前言1.1 选题背景与意义目前市场上有很多实现远程办公的商业软件。当公司内部信息系统在internet 上无法访问时,这些软件就大有用武之地,软件相当于一个小工具,突破局域网限制,安装运行方便快捷,成本低,目前有:GoToMyCloud、51Mypc远程办公等等,其中也有免费版本,不过作为一个公司,考虑到安全性商业保密等等,一般会选择使用付费、有后期维护及升级的软件。所以从市场需求这方面考虑,此选题很有意义。解决远程办公有很多思路,用电子邮件作为通信通道是一个传统的解决方案,但其中又不乏创新。传统的使用电子邮件通信不能够让
11、员工及时处理任务,邮件客户端与公司的工作流程又有一定的区别,联系不够紧密。本设计是针对具体的办公系统,实现的远程办公,虽然失去了一定的通用性,但其实用性大大提高。同时,作为毕业设计,其最重要的功能是可以熟悉使用C#进行电子邮件编程,熟悉使用开发简单的公司的办公系统,提升自己的分析问题、解决问题、动手实践的能力。1.2相关技术介绍基于电子邮件传输的远程办公系统设计采用的开发集成环境为Visual Studio 2021,Framework版本为.NET Framework 4.0 ,数据库使用的是集成的Microsoft SQL Server2021 。本设计中Visual Studio 202
12、1运行的操作系统环境为Windows7专业版。开发效率和用户体验都属一流。Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2021版本于2021年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2021同时带来了 NET Framework 4.0、Microsoft Visual Studio 2021 CTP( Community Technology Preview-CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft
13、SQL Server,它还支持 IBM DB2和Oracle数据库。目前有五个版本:专业版、高级版、旗舰版、学习版和测试版。我使用的是旗舰版,完整版售价11899美元,升级版售价3799美元。鉴于经济实力,我使用的处在免费试用期的版本。a.网站采用技术,开发工具为Visual Studio 2021,此集成开发环境功能异常强大,有丰富的服务器控件,还有集成的数据库开发界面,设计基本表,存储过程,表间参照,视图等等都十分方便。数据库的连接字符串可以自动生成,粘贴到web.config文件中。数据库文件放在专门的App_Data文件夹中。(1)账户管理采用GridView控件还用Session对象
14、技术。(2)工作空间采用GridView控件,DropDownList控件,文件上传下载技术,Session对象技术,邮件的收发技术。(3)整体网站采用了母版页技术、JavaScript技术,还有外部样式表,也可以采用主题技术。b.窗口程序部分,也是用Visual Studio 2021开发,语言选择都是C#,其提供的控件也丰富方便。(1)任务处理部分使用TreeView控件,webBrowser控件,contextMenuStrip控件技术,文件上传下载技术,邮件接收技术。(2)任务申请部分使用了openFileDialog控件,文件上传技术,邮件发送技术。(3)整体窗体间通信使用自定义的类
15、,来记住当前用户信息。2需求分析2.1 系统中存在的角色本系统是一个整合的小型企业办公系统,包含内部的信息系统,和外部的远程办公小工具。这个企业是虚拟出的企业,他是一家服务性企业,产品除了服务以外也有实物产品,经营形式较灵活。目标客户人群主要是大中城市的退休人员。这个企业名字为畅享有限责任公司。在本设计中用的是其别名怡然部落有限责任公司。具体详情不做过多介绍,它的来源为:第七届“挑战杯”济南大学学生创业计划大赛,本人也是其中的参与者之一,在此要感谢他们。系统中角色简单的分为:系统管理员、总经理、部门经理、员工。还有一个“任务”实体。当公司业务扩展时,还可以增添角色类型。2.2 分角色分析a、员
16、工可以对自己的账户信息进行维护,如修改联系方式,密码等等。对于其登陆所用的类似于工号的用户名不允许修改。员工可以进行任务申请,与自己相关的任务查看。b、部门经理,对自己部门下的员工进行管理,对他们申请的任务提交的任务进行审核,为他们布置任务,维护自己的账户信息。c、总经理,对所有的下属提交的任务和申请的任务进行审核,对下属反映上来的问题进行查看,对自己账户的管理,d、管理员具有最高权限,但不是所有权限。作为管理员要对数据库基本表进行维护,对整个系统的账户进行维护,为员工分配工号等等。其不能修改员工的密码,以及员工提交的任务。e、任务的状态有申请、建立、提交、审核、完成五种,按时间顺序转化如下图
17、申请建立提交审核完成图2.1 任务的生命周期图注:这里的“审核”是一个状态,而审核过程包含两种,一种是申请转化到建立,一种是提交以后工作流程图如下:员工部门经理总经理申请的任务提交的任务任务池图2.2 办公流程图管理员在办公流程中,员工和部门经理都可以申请和提交任务,总经理和部门经理可以审核下属提交或申请的任务,也可以为下属布置任务。员工或部门经理,登录系统可以查看自己的已建立的任务,已建立意思就是需要完成之意。刚申请的任务必需要上级批准才能变成以建立状态。处理任务时有时会关联很多文件,所以系统要提供文件的上传下载功能。2.3输入输出要求由于员工对数据的存储的格式不了解,他们只是了解自己的办公
18、流程,以及基本的windows操作系统的使用。所以在输入时要对员工填入的数据进行格式调整或者验证提示,例如,输入日期的时候要输入“yyyy-MM-dd”,当输入不符合要求时,要有对话框提示,这个可以使用javascript实现。对于输出,要求能对所有任务在网页上查看,包括任务的状态,关联的员工,起止时间等等。对于单个员工,要求他能查看自己的任务,查看自己任务的状态。老板能够看所有员工的情况,每月完成的任务量,联系方式等等。关于输出的响应时间,由于系统规模较小,网站内部的响应速度在目前主流企业小型服务器上基本不会出现问题。员工和老板的基本操作响应一般预计不会超过3秒2.4远程通信要求a、在网站端
19、安排任务时,会同时发送相关邮件消息到员工工作邮箱,邮件延时取决于邮件服务的状态。一般不会出现大的延时。b、windows程序端能够根据员工登陆时的邮箱来从邮箱中提取出符合要求的邮件数据。c、员工在外提交的邮件消息,网站可以用设定好的邮箱(Boss邮箱)接收,然后解析判断,组合成记录存入相应数据库基本表。Boss邮箱甲员工邮箱乙员工邮箱丙员工邮箱图2.3 通信邮箱结构网站Windows程序注:这些邮箱都是同类型的,在本设计中都使用的是163邮箱。3概要设计3.1系统简介本设计分为两大部分,第一部分为一个简单的公司内部办公系统,形式为网站。第二部分为一个windows窗口程序,用办公邮箱登陆。利用
20、第三方的邮件服务,实现第一部分和第二部分间的相互通信。运用C#可以方便的实现邮件发送与接收,能快速的开发出小型企业网站。系统实现了工作任务的申请、布置、提交、审核等等。员工在外出差时,利用windows窗口程序可以进行任务的处理和申请。当然网站端还有基本的账户管理。3.2 网站和windows窗口程序的关系企业内部网站外部邮件服务远程办公助手(窗口程序)SMTPSMTPPOP3POP3图3.1 整个系统的架构3.3 网站部分介绍网站部分分为“账户管理模块”和“工作空间模块”。账户管理有四种身份,分别是管理员、老板、部门经理和员工。根据身份的不同,配置不同的操作权限。例如老板和管理员有一切权限,
21、而员工只能对自己某些的信息进行修改更新。工作空间中有任务申请、我的任务、任务布置、任务审核、任务池汇总等部分。不同的模块针对不同的用户,任务申请和我的任务是针对员工的,其余的是针对部门经理和老板。具体结构如下图:企业网站工作空间账户管理个人信息更新密码修改增删改员工信息任务申请我的任务任务布置任务审核任务池汇总图3.2 网站的结构3.4 窗口程序部分介绍windows窗口程序部分分为两大模块,一个为“任务处理”,一个为“任务申请”。关于账户的管理部分可以在后期添加。任务处理部分简单地分为任务查看、任务编辑、任务提交、删除过期任务。任务申请部分没有子模块。结构如下图:窗口程序任务处理任务申请任务
22、查看任务编辑任务提交过期任务删除图3.3 窗口程序的结构4数据库部分的设计4.1 E-R简图公司内部上级对下级是管理关系,公司所有成员与任务的关系是处理关系,人员对部门的关系是隶属。在后期的表设计中,一些实体合并了,具体见下一节表设计。总经理部门经理员工管理管理管理处理人任务图4.1 系统E-R图上图中的“人”,是员工和部门经理、总经理的合并。他们三者都存放在一张表(Usertable)中,上图中实体的属性已略去,详见下一节表设计的截图。4.2 基本表与参照关系本系统中使用了五张基本表,Department(部门表)、 MissionPool(任务表) 、MissionStateTable(任
23、务状态表)、Usertable(用户表)、RoleTable(角色表) 。数据库名称为yirandata,是怡然的拼音加上data构成。数据库中有一个查重的存储过程,有两张参照关系图。如下:图4.2 基本表、参照和存储过程a、Department(部门表)设计截图:图4.3 部门表部门表只设计了两个字段,一个是主键部门号(DepartmentNumber),一个是部门名称(DepartmentName)。数据类型如上图所示,主键DepartmentNumber为int型, DepartmentName为varchar(50)。b、MissionPool(任务表)设计截图:图4.4 任务表此表未
24、设主键,MissionId(任务号)可以被设置为主键。* TargetStaff(目标员工)为外键,参照Usertable(用户表)的Email字段。记录的是此条任务关联的执行员工,在布置任务时,领导必须指定期望执行的员工。* MissionSubject(任务主题),在系统中配合MissionState(任务状态)作为任务的标示,区分不同的任务。* MissionName(任务名)是一个保留字段,为将来其他功能的扩充做准备。在本设计中可以去掉。* MissionContent(任务内容)是任务的主体,员工通过浏览此内容而进行办公安排。* MissionState(任务状态),参照Missio
25、nStateTable(任务状态表)的MisStateId字段。* Attachmentpath(附件路径),存放的是与任务相关联的文件的文件名,注意是文件名,并不是文件在服务器上的完整路径。在服务器上有个专门存放关联文件的文件夹,详细设计里会提到。* BuiltTime(建立时间)记录的是任务建立的时间,为员工办公提供参考。* DeadlineTime(截止时间)记录的是任务失效的时间或是提交截止时间,为员工办公提供参考。* IsPosted(发送标记)标记任务是否被发送到目标员工的办公邮箱。当然,并不是所有任务都需要发送,任务池刷新时,只会将符合条件的任务发到目标员工的办公邮箱。“1”代表
26、已发送,“0”代表未发送。c、MissionStateTable(任务状态表)设计截图图4.5 任务状态表MissionStateTable(任务状态表)设计比较简单,主键为MisStateId(任务状态号),等二个字段为MisStateName(任务状态名),这个表的设计是为了显示给用户的时候更容易理解。而没直接在将任务表中的状态字段设计为文本是为了将来添加任务状态功能扩展时更加方便。抗异常的稳定性也更好。有了这个表实现员工按任务状态查询与自己相关的任务也方便许多。d、Usertable(用户表)设计截图图4.6 用户表此表的UserID字段在设计中也未被使用,用作其他功能添加的保留。* U
27、serName(用户名),目前的主键,用以标识用户,也是相应使用者的登陆名。* DepartID(部门号),参照Department(部门表)的DepartmentNumber字段。* UserType(用户类型),区别用户为普通员工还是领导等等,用以确定其操作权限。* PassWord(密码),登陆公司办公系统的密码,密码为空也可以登陆。注意这里的密码和窗口程序端登陆用的密码没有关联性,可以凭用户自己设置。* Email(办公邮箱),存放员工办公用的邮箱地址,用户可以自己修改。* PhoneNumber( 号码),这个不用解释。* IsInService(登录标记),可以利用此字段判断此用户
28、有没有登录。* RealName(真实姓名),方便使用,提升操作的可理解性。在布置任务时,选择员工的名字就可以得到其办公邮箱,而不用“领导”记住员工的邮箱。* Remain(保留),为以后功能添加所保留,目前也可以作为备注。e、RoleTable(角色表)设计截图图4.7 角色表上表主键为RoleNumber(角色号),RoleName(角色名),目前有4条记录,管理员的角色号为“0”.f、Diagram1(参照图一)设计截图:图4.8 参照关系一g、Diagram2(参照图二)设计截图图4.9 参照关系二h、存储过程代码:ALTER PROCEDURE dbo.StoredProcedure
29、1user1 varchar(50)ASselect count(*) from Usertable where UserName=user1RETURN4.3 工具类获得数据库字符连接串的类Tools:namespace Public public class Tools public Tools() / / 获得数据库字符连接串 / / static public string GetConnectionString() return System.Configuration.ConfigurationManager.ConnectionStringsCorpMgrConnectionSt
30、ring.ConnectionString; 5网站详细设计5.1 工程文件结构网站的名称叫做怡然部落信息管理系统,公司背景在上文中(2.1)有提到。本网站的开发由于大量使用服务器标准控件,于是没有使用MVC开发模式。网站所在的解决方安中有三个项目,分别是网站本身(bishe1hao),KSMISUsers 和Net。后两个项目是类库输出型项目,网站bishe1hao引用了他们。项目KSMISUsers是指导老师提供的,我的设计对其内部的类进行了少许修改,登录功能依赖于此项目。在此项目中有一个User类,此类加session技术完成了网页间的通信,也可以完成权限的判断布置,具体见4.2.1。项
31、目Net是从网上找到的免费开源的关于电子邮件编程的基础类库。当然其功能远远不止电子邮件编程,但本网站使用的只有其中接收邮件的类,发送邮件在System.Net.Mail中本来就含有。当然后继这两个项目都可以在生成网站时移除,只需要将他们生成的.dll文件放入网站的Bin文件夹中即可。这样.cs文件中对他们的引用就不会出现问题。下面我们来仔细看一下网站bishe1hao的文件组织结构,如下图:图5.1 网站文件结构App_Code文件夹中有一个自定义类,用来获取web.config中的数据库连接字符串(见3.3)。App_Data文件夹中是数据库文件,Bin文件夹是自动生成和添加的.dll文件。
32、bosspages文件夹中是一系列的员工没有权限的页面,具体见图4.2。css文件夹中是网站的外部样式表,本系统中基本没有使用。fileshare文件夹中是存放附件的服务器文件夹。images文件夹中的是网站的相关的图片。staffpages文件夹中是一系列的员工页面,具体见图4.3。再往下面就是一个个的具体页,在后文中会有介绍。rilishiyan.aspx是测试页面和Default.aspx是登陆页面。图5.2 bosspages文件夹 图5.3 staffpages文件夹5.2 按模块介绍5.2.1 登陆模块登陆界面采用简明的设计如下图:图5.4 登陆页这些控件都是服务器控件,他们被放在
33、一个html table控件中,这个table又被放在一个div中。这样方便布局,可以指定合适的背景图片。登录的过程为,先new一个KSMISUsers.User类的user对象,用这个对象调用Login函数,这个函数会返回一个枚举值,反应登录的结果。Login函数先将输入的用户名与数据库中的Usertable(用户表)中的记录比对,看有没有这样的用户名的用户记录,有的话就将之各个字段赋值给user对象的一些属性。然后再将用户输入的密码与user.Pwd对比,判断密码是否正确。这样就可以区分出到底是用户名错误还是密码错误。登录相关代码如下:protected void btnLogin_Cli
34、ck(object sender, EventArgs e) KSMISUsers.User user = new KSMISUsers.User(true);/true代表会生成权限列表 KSMISUsers.LoginResult lr = user.Login(tbLoginName.Text,tbPwd.Text,Public.Tools.GetConnectionString(); if (lr = KSMISUsers.LoginResult.Success) user.IsLogin = true; SessionLoginUser = user; KSHelper.UI.JsS
35、cripts.Redirect(Mainpage.aspx, Response); return; if (lr = KSMISUsers.LoginResult.DbError | lr = KSMISUsers.LoginResult.NoUser | lr = KSMISUsers.LoginResult.PwdErr) KSHelper.UI.JsScripts.Prompt(user.GetLoginPrompt(lr), Response); return; 说明:登陆地具体过程基本上完全在KSMISUsers.User类中完成,LoginResult是命名空间下的一个枚举变量,记
36、录登录返回的结果。KSHelper.UI.JsScripts类也是指导老师提供的.dll文件,整个设计中,我仅仅是在这个登录按钮事件中使用了它,在这里他起了页面跳转和输出提示的作用。KSMISUsers.User类中Login函数代码如下:public LoginResult Login(string strLoginName, string strPwd, string strConnectionString) SqlConnection conn = new SqlConnection(strConnectionString); string strSql = string.Format(
37、Select * From Usertable Where UserName=0 , strLoginName); SqlCommand cmd = new SqlCommand(strSql, conn); try conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); if (!sdr.Read() sdr.Close(); conn.Close(); return LoginResult.NoUser; ReadAUser(sdr);/将数据库中读到的符合条件的记录存到User的相应的成员中。 if (!this.IsPasswordC
38、orrect(strPwd) return LoginResult.PwdErr; sdr.Close(); conn.Close(); catch if (conn.State != ConnectionState.Closed) conn.Close(); return LoginResult.DbError; return LoginResult.Success; KSMISUsers.User类中Login函数中使用的其它函数如ReadAUser(sdr),IsPasswordCorrect(strPwd),不再一一介绍,具体参见工程文件,在毕业答辩结束后我将会在网上免费公开。5.2.
39、2 员工增删改涉及到这个模块的页面有3个,分别是Add_staff.aspx,Delete_staff.aspx,Update_staffinfo.aspx,从页面名称可以看出其功能。(1)、增加员工截图如下图5.5 增加员工 和邮箱输入框加了服务器验证控件RegularExpressionValidator,只需要设置ControlToValidate、ErrorMessage、ValidationExpression属性即可,ValidationExpression属性可以从网上获得正则表达式,也可以直接在开发环境中选取。用户名输入框含有非空验证,而且有一个焦点变化时数据库查重操作,代码如
40、下:protected void user_name_TextChanged(object sender, EventArgs e) string strConnectionString = Public.Tools.GetConnectionString(); SqlConnection conn = new SqlConnection(strConnectionString);- conn.Open(); /使用存储过程查重,不让用户名发生重复。 SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredP
41、rocedure; cmd.CommandText = StoredProcedure1; /存储过程参见4.2 h cmd.Connection = conn; SqlParameter parauser1 = new SqlParameter(user1, user_name.Text.Trim(); cmd.Parameters.Add(parauser1); Int32 count = (Int32)cmd.ExecuteScalar(); /返回的是首行首列 if (count 0) Response.Write(alert(你输入的用户名已被使用,请您换一个! );history.
42、back();); conn.Close(); conn.Dispose(); 添加按钮click事件代码如下protected void Button1_Click(object sender, EventArgs e) if (user_name.Text = ) Response.Write(alert(用?户名?不?能为a空?!?);location.href=Add_staff.aspx;); int i, j; i = Int32.Parse(department.Text);/部门DropDownList未与数据库中的部门表绑定,但text和value与表中的记录对应,depar
43、tment.Text得到的是value. j = Int32.Parse(role.Text);/和上面类似 string ConnectionString = Public.Tools.GetConnectionString(); SqlConnection conn = new SqlConnection(ConnectionString); string strSql = insert into Usertable(UserName, DepartID, UserType, PassWord, Email ,PhoneNumber ,RealName) values( + user_na
44、me.Text + , + i + , + j + , + pass_word.Text + , + email_address.Text + , + phone_number.Text + , + real_name.Text + ); SqlCommand cmd = new SqlCommand(strSql, conn); try conn.Open(); if (cmd.ExecuteNonQuery() = 1) Response.Write(alert(添加成功|!?);location.href=Add_staff.aspx;); conn.Close(); catch if
45、(conn.State != ConnectionState.Closed) conn.Close(); (2)、删除员工部分做的较简洁,本来可以将修改和删除都整合到一起用GridView实现,但显得较单调。图5.6 删除员工删除相关代码:protected void Button1_Click(object sender, EventArgs e) Response.Write(confirm(are you sure to do this?); ); string ConnectionString = Public.Tools.GetConnectionString(); SqlConne
46、ction conn = new SqlConnection(ConnectionString); string strSql = string.Format(Delete From Usertable Where UserName=0, TextBox1.Text.Trim(); SqlCommand cmd = new SqlCommand(strSql, conn); try conn.Open(); if (cmd.ExecuteNonQuery() = 1) Response.Write(alert(删除成功!);location.href=Delete_staff.aspx;);
47、else Response.Write(alert(未找到符合条件的员工!);location.href=Delete_staff.aspx;); conn.Close(); catch(Exception ex) if (conn.State != ConnectionState.Closed) conn.Close();Response.Write(alert(操作失败!);location.href=Delete_staff.aspx;); (3)、Update_staffinfo.aspx页面使用了GridView控件,效果截图如下图5.7 员工信息修改这个修改是从“领导”的角度进行的
48、,第一行处于编辑状态,可以看到一些能够修改的项。部门和职位显示的是联合查询出的字段,相关设置如下:数据源SELECT语句为SELECT Usertable.UserName, Usertable.Email, Usertable.PhoneNumber, Usertable.Remain, Usertable.RealName, RoleTable.RoleName, Department.DepartmentName, Usertable.DepartID, Usertable.UserType FROM Usertable INNER JOIN RoleTable ON Usertable
49、.UserType = RoleTable.RoleNumber INNER JOIN Department ON Usertable.DepartID = Department.DepartmentNumber数据源的UPDATE语句为UPDATE Usertable SET UserName = UserName, RealName = RealName, Email = Email, PhoneNumber = PhoneNumber, Remain = Remain, DepartID = DepartID, UserType = UserType WHERE (UserName = oril_UserName)上述语句都是在界面化的查询生成器中自动生成的。也可以直接写好,粘贴入相应的地方。数据源的要注意的属性如下图:图5.8 数据源属性注意第二个变黑的属性,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临时建筑建设合同样本2024版版B版
- 2025年度茶叶种植与加工特许加盟经营合同范本3篇
- 2024生鲜乳品牌授权与销售渠道拓展合同3篇
- 2024年福建幼儿师范高等专科学校高职单招职业技能测验历年参考题库(频考版)含答案解析
- 2025年沪科版八年级地理下册月考试卷含答案
- 2025年冀教版九年级物理上册月考试卷含答案
- 2025年粤教新版八年级化学上册月考试卷含答案
- 2025年沪教版八年级科学上册阶段测试试卷
- 2025年上教版八年级科学下册月考试卷含答案
- 2025年沪科版五年级英语下册月考试卷含答案
- 2024年杭州师范大学附属医院招聘高层次紧缺专业人才笔试真题
- 制造业BCM业务连续性管理培训
- 商场停车场管理制度
- 2024年全国职业院校技能大赛高职组(体育活动设计与实施赛项)考试题库(含答案)
- 福建省厦门市2023-2024学年高一上学期1月期末质量检测数学试题 附答案
- 2024-2025学年度第一学期四年级数学寒假作业
- 全新照顾老人保姆合同协议书下载
- 体育赛事策划与管理全套课件
- 文言文虚词“之、而、其、已”的用法及专项练习(讲义)-人教部编版(一起)语文九年级(上册)
- 第一单元:复习与提高(单元复习讲义)-沪教版五年级数学下册
- 24年追觅在线测评28题及答案
评论
0/150
提交评论