用于办公室的自动化印机的设计.docx
用于办公室的自动化印机的设计与开发-软件设计摘要随着工业的不断发展,逐级深化,经历了工业1.0到工业3.O的转变。从18世纪60年代至19世纪中期的机械设备制造时代,到如今的信息化时代,机械化设备的使用越发频繁,发展速度也逐渐加快,人们在享受机器带来便利的同时,也对机器的操作和控制便捷性有更高的需求,如今,自动化设备已经普及家家户户,自动化的机械产品也是层出不穷,但是在一些不引人注目的印章方面仍缺少自动化设备的帮助。通过在大学四年里学习和生活上的耳闻目染,感受到在很多地方还是在使用手动印章,例如学校教务处,需要在学生升学,请假,毕业和就业指导等事件中进行印章,而印章工作在校园里仍处于手动印章的状态,这不仅会延缓办事效率还很浪费体力,本设计主要分析了国内外自动印章机的种类和发展趋势,对已有的自动印章机做出改进,着重而向办公人群,使用户解放双手,提升办事效率。所以,本小组结合大学四年所学的机械原理、机械设计、c#、气压与液压传动等相关的专业知识,经过研究,设计出一款带有权限识别的自动化印章机。该后台系统采用ViSUaIStudio2017和SqISeVer2014数据库俩款软件制作而成,通过C#里类库中的类和数据库之间的调用,实现了多用户登录,权限管理,出错提示,修改密码,信息查询和打印模块的基础功能,对每个模块划分清晰明确,在为用户提供了一些基本的服务模块的同时,也很好的保证了印章的使用安全,是一个可以满足基本服务需求的印章管理系统。关键词:自动化,sqlSeVer数据库,VisualStUdio,类库,类Designanddevelopmentofautomaticprintingmachineforoffice-softwaredesignAbstractWiththecontinuousdevelopmentanddeepeningofindustry,ithasexperiencedindustryOneToindustryThreeChange.Fromthemechanicalequipmentmanufacturingerainthe1860stothemid-19thcenturytotheinformationagetoday,Theuseofmechanizedequipmentismoreandmorefrequent,andthedevelopmentspeedisgraduallyaccelerated.Peopleenjoytheconvenienceofthemachine,butalsohavehigherdemandfortheconvenienceoftheoperationandcontrolofthemachine.Nowadays,automationequipmenthasbeenwidelyusedineveryhousehold,andautomatedmechanicalproductsareemerginginanendlessstream,butthereisstillalackofhelpofautomationequipmentinsomeunobtrusiveseals。ThroughfouryearsoflearningandlivingintheUniversity,!feelthatmanualsealisstillusedinmanyplaces,suchastheAcademicAffairsOfficeoftheUniversity,whichneedstobeusedineventssuchasstudents,enrollment,leave,graduationandemploymentguidance,whilethesealworkisstillinthestateofmanualsealinthecampus,whichwillnotonlydelaytheworkefficiencybutalsowastephysicalstrength.ThisdesignmainlyincludesThispaperanalyzesthetypesanddevelopmenttrendoftheautomaticsealmachineathomeandabroad,improvestheexistingautomaticsealmachine,andfocusesontheofficecrowd,Tofreehandsandimproveefficiency.Therefore,basedonthefour-yearmechanicalprinciple,mechanicaldesign,C,airpressureandhydraulictransmissionandotherrelatedprofessionalknowledge,thisgrouphasdesignedanautomaticsealmachinewithauthorityidentificationafterresearch.Thebackgroundsystemadoptsvisualstudio2017andSQLSever2014databaseismadebytwokindsofsoftware.ThroughthecallbetweentheclassanddatabaseintheclasslibraryinC,thebasicfunctionsofmulti-userlogin,authoritymanagement,errorprompt,passwordmodification,informationqueryandprintingmodulesarerealized.Eachmoduleisdividedclearlyandclearly.Whileprovidingsomebasicservicemodulesforusers,italsoensurestheuseofsealsWithsecurity,itisasealmanagementsystemthatcanmeetthebasicservicerequirements.Keywords:automation,SQLSeverdatabase,visualstudio,classlibrary,class目录1绪论11.1 全自动印章机控制系统的概念I1.2 全自动印章机的现状11.3 自动印章机的优点21.4 自动印章机存在的问题21.5 选题的研究意义21.6 本文的主要工作22全自动印章机设计与开发总体方案设计32.1 设计概述32.2 全自动印章机的设计要求42.3 全自动印章机设计与开发总体方案52.4 本章小结53系统开发工具介绍53.1 VisuaISludio201753.2 SQLSever2014数据库74印章系统的调试及运行104.1 C#Ul层界面展示设计104.1.1 用户登陆界面104.1.2 主界面的设计134.1.3 密码修改模块界面展示144.1.4 登陆日志154.1.5 模拟打印154.1.6 登陆查询模块164.1.7 信息查询模块164.2 各类库功能介绍174.2.1 DBuitily的概念174.2.2 models层介绍174.2.3 DAL层介绍184.2.4 COmmon层介绍184.3 功能实现194.3.1 .多用户的登陆实现194.3.2 对用户登陆的判断提示和类型的优化234.3.3 主界面模块设计244.3.4 登陆日志的建立274.3.5 登陆查询窗口应用304.3.6 修改密码功能设计314.3.7 打印功能设计334.3.8 信息模块设计345设计总结365.1 设计难点365.2 设计创新点365.3 设计不足365.4 展望37参考文献37谢辞39附录40附录一各个窗体中的主要代码40附录二各个类库里面主要序代码53附录三相关英文文献68附录四英文文献翻译741绪论全自动印章机是自动印章设备,是用机械代替人力,并通过系统对印章实行自动化的管理,使办公效率更加的高效化和智能化,我国虽然很早就出现了印章技术,但对与印章的自动化设计起步较晚,近年来也是在不断发展这种自动化的印章技术。本文将通过研究国内外的自动化打印设备,了解与学习自动印章的原理,并且研究各种管理系统的设计开发,从而根据本组设计产品的需求,来设计出一套印章权限管理功能。LI全自动印章机控制系统的概念全自动印章机的软件系统主要功能是对使用者的级别,印章的大小进行识别和管理,而且可以实现历史记录查询的功能,能查出什么身份的人在什么时间地点登陆使用了这个印章。L2全自动印章机的现状(1)国外全自动印章机发展现状盖章分为两类,一类是盖钢印的。一类是盖印泥的。在20世纪3040年人们对钢印印章有了需求,才慢慢出现了钢印的印章机。随着科技的进步,钢印的印章机也在不断的变化,但是工作原理基本是一样的,没有太大的变化。到当代出现了击打打印机,由于本身属于专用的击打打印机,所以功能和使用范围都受到了一定限制,没有太大的变化。而盖印泥章印的机器出现的很少。目前世界上有名的盖章机有美国HEDMAN海德曼EDP-PLUSIN自动连续盖章机、德国Reiner自动盖章机等,这些都是击打式盖章机。SEAL-A型电子自动盖章机,是印泥盖章机,是目前可以查到的销售的盖章机。钢印盖章机的种类也不是太多。(2)国内自动印章机发展现状印章在国内出现的很早,但在盖章技术方面,技术比较单一,大多是人工手动盖章。目前市场上主要有两种形式的自动印章机,自动钢印章机、击打自动印章机。这两种自动印章机的优点是安全、智能化。共同的缺点是,功能单一,效率低,灵活性不够高。1.3 自动印章机的优点(1)印章的安全管理:原先的手动印章,在盖章之后很难去查寻使用者在什么时候用的这个印章,是否可以使用这个印章,会存在跨权限使用而很难追查这个事情,如果自动印章机因为加入的安全系统的缘故,所以可以对使用者的级别进行管理,也可以查询详细的历史记录,很好的解决了这个问题。(2)自动印章机可以有效的代替人手盖章,有效减少盖章不均等问题,也可以让方便盖章者不再时无法盖章等问题得到一个有效的解决办法。也有效的提高了企业的劳动效率。(3)可以移动印章,本次的设计印章机可以活动印章,解决里盖章位置不同或者纸张放置不同所产生的错印问题。1.4 自动印章机存在的问题现阶段的自动印章机还存在无法多张纸张一次打印的问题,现阶段的印章机由于无法放置很多纸张,所以只能让使用者一次一张的放入纸张。L5选题的研究意义根据身边的环境选择这个题目,现在很多地方政府或者国企,都在逐步的使用网络印章,虽然还是会用手动盖章,但因网络印章可以提高办事效率,手动印章正在逐渐变少,但在校园生活中,很多印章都得通过老师手印的方式来进行盖章,这样其实在日常的请假等方面同样也会造成一些小的影响,比如一次有很多同学来盖章,而老师又急于忙于手头的工作,这样就可能会导致办事效率的减弱,为了改善这种问题,提高盖章效率,节省时间,因此选择了全自动印章机的设计与开发这项课题。1. 6本文的主要工作主要是分为以下五个步骤对该印章管理系统进行研究与开发:(1)对智能印章机的系统进行研究上网上查看一些智能印章机的系统和视频进行研究,了解这些系统大致需要的功能有哪些,选择性的放入自动印章机中。(2)对登陆界面和主界面,副页面进行设计研究查阅相关视频和资料又结合一些图书管理系统的页面设计,设计出自己需要的模型板块,以及登陆界面和主界面的背景设计,主界面的板块功能有:身份识别,尺寸选择,历史记录的和打印份数的选择,副业也要注意尺寸的选择。(3)连接数据库,实现多用户管理和身份识别通过c#和SQLSeVer数据库的连接和对数据库的调用,实现多用户的登陆,以及身份识别和管理什么身份对应可以使用的印章。(4)实现登陆日志的查询同过对数据库的调用,在数据库中建立表以此记录使用者的时间,在通过c#的编辑,将页面登陆的用户传送进数据库中。在通过登录查询界面获取表中信息进行展示。(5)各个功能模块的开发除了以上基本的功能实施以外,还设计一些其他的模块,在保证用户有了基本的权限安全后的服务操作,如密码修改,印章使用查询等服务类功能。2全自动印章机设计与开发总体方案设计针对全自动印章机的运作流程,设计出可以实现对印章使用权限进行分类管控,实现印章机可以自由移动印章位置及自动按压印章,以及印章机作为办公用品,体积不宜过大为准则的结构设计与开发。本设计的控制系统使用气动控制为核心,首先了解整个气动系统元件的组成,再了解各个原件的原理和优缺点,进行合适的元件种类和型号的选择。使用IO模块(工业级开关量模块)进行串口通信,使C#中的程序可以与印章机进行适配。Ul界面和后台系统的设计中,通过了解各种管理系统的视频,因为市面上很多印章管理系统较为复杂,除了观看印章系统视频以外也了解很多其他的管理系统的页面布局及功能设计,如图书管理系统,超市收银系统等最后,将软件部分设计大体分为俩个设计方面,页面布局设计和功能设计。1.1 设计概述考虑到很多自动印章机的体积较大,系统也较为复杂,本次想设计一个小型便捷为目的的全自动印章机,计划设计出一种可以放置在办公桌面上的小型自动印章机,以小巧、移动便捷、造型简单为目的,通过气缸与机械结构相结合,利用滑杆等零件完成自动盖章的任务,节约能量和成本。而在软件系统方面的设计多以用户的级别判定和安全考虑,当然也会为用户提供一些基本的服务。其次市面上的印章机多数都是用电路系统作为主要的控制系统,电机和继电器为核心元件,但是基于创新性,本设计采用气动系统,供给两个气动系统的方案进行选择。本设计采用的IO模块正是比起没有串口通信的印章机有很多优点且更适合。100200作为继电器输出模块,可以托负载,与软件的程序的运行更适配,起到开关的作用。为了更直观的了解本次设计的流程,本小组的整体流程图如图2.1所示:图2.1设计流程图2. 2全自动印章机的设计要求针对全自动印章机的设计要求,总体来说要求印章机体积较小适合办公,有一个可以提供基础服务的后台系统和UI界面以及可以自动化的控制印章,因此对每个要求进行细化总结后得出以下四点要求:结构设计要求:利用SoIidWOrkS软件对自动印章机的结构进行设计,首先确定自动印章机的大致外观造型,然后在考虑自动印章机各部分零件大小、后续电子设备装载空间等问题的基础上,通过对各部分零部件的设计,以及完成各零件的装配,最后形成自动印章机的完整结构,通过导出装配图和主要零部件工程图,最终完成结构的设计。控制设计要求:气动系统中的执行元件一一气缸能根据软件中的程序指令进行运作,要能使气缸有足够的力使印章实现张印,IO口串口通信的执行程序能正常运行,使设备能接收到程序指令。设计要求如下:(1)气动系统的气压能够稳定输送,气缸能够稳定进行往复运动。(2)串口通讯实现和设备的通讯,把C#的程序编程指令与设备进行通信,实现使用权限和使用的记录。(3)保护电路确保在出现短路时能够立刻断开电路,保护电路和气动系统。页面设计要求:因为页面布局设计需要整体的美观程度,所以不采用ViSUalStudiao软件的原边框,也将主也面的尺寸调为1143*660,并且在图片的选择也进行了筛选,最终确定了俩张现代圆头印章的图片,并且将原有系统的主色调进行了调整。同时主界面的布局设计为左边为功能模块,右边为副界面展示窗口,在修改密码界面需要对使用者的设置的新密码长度密码做出提示。功能设计要求:在登陆界面,需要做到多个用户的登陆管理,并且对登陆用户的级别做一个初步的判定,并且对用户输入的面貌进行初步校验,如用户名是否为空,密码是否大于6位,用户名和密码是否为空,在登陆成功后会弹出对级别判定后登陆成功的消息框,如欢迎学生使用。在登陆成功后,系统会将使用者的姓名,账号,使用时间和结束时间录入数据库的日志表中。在主界面会上方显示登陆者的名称还有登陆的时间,主界面也需要做到,第一可以最小化,第二点击关闭时可以关闭整个程序,在修改密码界面需要做到自动是提取并显示使用者名称和账号显示,同时需要校验新旧密码是否重复,新密码是否一样,新密码是否大于六位。在印章尺寸选择按钮的模块,主要的功能是模拟打印时长,需要显示打印中并且过IOS以后会弹出答应成功等字样,在登陆日志界面,需要调出后台系统登陆日志,展示在Ul层的登陆查询界面,需要做到L展示所用的人登陆时间2.通过账号和用户查询个人使用并且可以选择年,月,日或者从几号到儿号的方法查询,印章系统查询,通过对后台印章系统的调入,可以查询使用者的名称级别和所用印章。2. 3全自动印章机设计与开发总体方案采用ViSUaIStUdiaO2017版和SQLSeVer2014版数据库来组建后台系统,控制系统由两部分组成,一部分是气动控制系统,方案一是由气泵,调压阀,气动电磁阀,气缸组成,方案二是由空气压缩机,气源双联件,气动电磁阀,气缸组成。另一部分是驱动系统,主要有IO串口通信,可添加保护电路。而在结构方面主要由以下几方面组成:机架、印章升降结构、印章左右前后移动工作平面、气缸电磁阀等电子零件放置结构。2.4本章小结本章主要是对全自动印章机进行一个总体方案的概述,介绍了本设计中印章机的主要的软件组成和页面设计要求及功能需求及总体思路,需要考虑和解决的问题。3系统开发工具介绍本章节主要是对于毕业设计中所用到的ViSUaIStUdio2017和SQLSeVer2014数据库软件进行一个介绍,讲解一下这个版本的软件想比于其他版本所存在的优势。3.1 VisualStudio2017VisualStudio2017是微软于2017年3月8日正式推出的新版本,是迄今为止最具生产力的VisualStUdiO版本。其内建工具整合了.NETCore、AZUre应用程序、微服务(microservices)Docker容器等所有内容。相较于其他版本的ViSUalStudio,2017版可以更快,更详细的给出程序中所给的错误,而其中的C#软件中也更新了C#7.0的版本。在本次的设计工程中C#软件主要负责页面设计和连接以及数据库的调用的一些基本编程。其模块基本配置步骤如下(1)打开ViSUalStUdiO2017然后新建项目,选择WindoWS窗体应用,如图3.1所示:t wunhie Smm w* T =-图3.1新建项目页面(2)除了窗体应用,还需要建立几个类库,分别为COmmOn(通用工具),DAL(数据访问层),DBUitily(数据连接),models(数据表示层)。类库选择NETFrameWOrk这一类。如图3.2所示:解决方案'登陆界面'(5个项目)DCCommonDDALDC#DBUitilyCmodelsDWindowsFormsAppIicationI图3.2建立类库3.2 SQLSeVer2014数据库SQLSerVer系列软件是MiCrOSOft公司推出的关系型数据库管理系统。2014年4月16日于旧金山召开的一场发布会上,微软CEO萨蒂亚纳德拉宣布正式推出“SQLServer2014”。相较与原先的SQLSeVer2008或SQLSeVer2008R2版本,SQLSerVer2014可以是新手在建立数据库或生成新的表的时候,可以通过鼠标右键直接建立新的数据库,在新数据数据库下面的表这个文件中右键即可建立新的表,表中国每个列的类型和行数都可以通过鼠标操作,而老版的数据库只能通过代码建立数据库,当然SQLServer2014只能和WinlO系统匹配。本次设计中SQLSever2014数据库是用来存储写入的数据以及提供数据和接受C#系统更新后的数据,下面是数据库的配置过程。(1)打开软件,用WindoWS身份登陆数据库,在建立的连接上选择属性,进入服务器的属性,将身份验证改为SQLSeVer和WindOWS身份验证模式(如图3.3所示)然后点击确定按钮,做这步的原因是为了更好的让数据库和c#连接。图3.3属性页面(2)点开安全性找到登陆名下的Sa用户,点开用户修改密码,并且进入设置页面启用登陆和允许改用户连接数据库。如图3.4,图3.5,图3.6所示:IcyEventProcess#MS-PolicyTsqIExecuIiotACuiM-PCXCuiMCZhBNTAUTHORITV'SYSTEMijNTService'MSSQLSERVEIANTSERVICESOLSERVER,NTSERVICRSQLWriterNTSERVICEWVinmgmtsa般务群角色团Iti加在提供程序图审核-服务器审核规范(3)单机数据库点击新建以后会弹出如下图所示的页面,填入数据库的名称然后点击添加即可,如图3.7,图3.8所示:文件可JL田#助盐建定名种屈有春(0非甥库文件位! 通辑名部支庠共里受样穆行参据 mmt 本造雨葩输加IM每动理世准大大小聚力1母女无照制带费为槽长无焊制mu&-图3.8数据库建成以后视图图3.7建立新数据库4印章系统的调试及运行本章节主要分为三个部分来讲:UI设计界面主要是展示每个模块的页面设计和功能的简介,各类库功能简介主要是简单概括各类库在该设计中的结构位置和作用,功能实现章节主要讲述了如何在各个类库及Ul界面中编写程序去调用数据库,来实现一些基础功能。4.1C#UI层界面展不设计本节主要简要描述在C#软件中所设计的各个页面的布局和功能简介俩个方面进行介绍.4.L1用户登陆界面(1)用户登录界面基本的界而设计一个好的系统就需要好的登陆界面,所以需要设计出一个好看的页面设计,需要将窗体原有的边框去掉,更改窗体的背景颜色,选择符合窗体的图片做整体背景等步骤,设计出印章系统的登陆界面。如图4.1,图4.2所示:(a)UVtSizable No*VNNVIVFormBorderStyIeRightToLeft(b)图4.1通过FormBorderSlyIe属性栏把Sizable改为NOne去掉边框账号'密码一登陆IO©图4.2登陆页面完成图(2)登陆界面的功能设计实现多用户的登陆管理,区分学生与老师身份,以及在用户登录的时候对用户完成基本的校验,如用户名不能为空,密码必须大于六位,用户名和密码错误等提示。如图4.3所示:印章管理系统辘您的期账号O密码厂登陆一I聪消用户名或密码描误!印章管理系统账号M2密码取消登陆密码必须要大于6位(b)查询印章管理系统 PPRAVED账号有因登陆取有登陆账号不能为空I(C)4.L2主界面的设计(1)主界面页面设计相对与登陆界面的设计不同的是,主界面的设计为了好看,参考了很多系统的主界面的设计和布局,最终把尺寸确定在去掉边框以后尺寸为1366*768这个数值(如图4.4所示:)并采用分页式设计,左边放入模块按钮,右边放入界面图片,并将IabIe控件的属性值改变,用来做大模块区域名称和模块区域的划分,其次主页面之外的分页面都采用1150*662的尺寸标准。如图4.5所示:印章管理系统JAutoScrollMargin0,03AutoscrollMinSize0,0AutoSizeFalseAutoSizeModeGrowOnly3Location0,03MaxiaunSiz0,03MiniDunSize0,03Padding0,0,01O3Size1366.768StartPositionCenterScreenWindowState3密口样式Normal图4.4尺寸选择图4.5主界面贝面设计(2)主界面的功能设计首要实现最小化按钮和关闭按钮的功能,当点击关闭按钮时结束整个程序,点击最小化是会将窗体最小化。其次在登陆时,需要显示用户的登陆名称和上次的登陆时间,并且设计了很多模块按钮,当模块按钮被触发时不会弹出窗体,而是将窗体展示在图片区域。而且在学生登陆和老师登陆时,学生是不可以用8cm和IOCm的印章的,所以在学生登陆时,8cm和IoCm印章按钮是无法被看见的。如图4.6所示:图4. 6学生登陆界面尺寸诘肆 信壹建呵 禅潼雕成5感等4.1.3密码修改模块界面展(D密码修改模块页面设计在密码修改界面需要设计俩个密码长度的提示,还需要设计密码修改的位置,在顶部会设计位置的标识,如图所示,在当前用户的账号和当前用户名称这块采用的是IabIe控件,将它的背景颜色和AUtoSiZe属性进行更改,得到当前的效果,这样设置的目的是为了自动获取用户名和密码显示。如图4.7所示:82胱图4.7修改密码页面(2)功能说明密码修改界面的功能其实是将原先写入数据库中的密码提取,在输入原密码时进行校验,满足校验的要求以后,Ul层会将更改后的新密码在导入数据库中将原有密码进行替换。校验的需求有(原密码是否正确,原密码和新密码是否相同,俩次新密码是否一样,新密码是否大于六位)。4.1.4登陆日志建立登陆日志是为了记录什么人在什么时间段使用了这个系统,使用了多少分钟,为了将Ul层的数据传到数据库中,应建立一个新的表,其中Logld的值需要设计成不断自动增加值,然后在建立其他的列,Loginld,UserName,LoginTime,EndTime,从原有的登陆的表中获取账号,使用者名称,开始时间,在点击登陆按钮时,通过登陆按钮去向表格中输入所需要的账号,使用者名称及时间,在关闭主界面时会想数据库录入退出时间,这样每有人登陆一次系统,表格中的数据就会自动更新一次。4.L5模拟打印(D打印的页面设计页面需要提示使用者所在的当前位置,自动显示账号和姓名,以及自行显示份数的印章管理系统选择。如图4. 8所示:当前位置:5cm印堂这me图4.8打印页面设计(2)功能设计在使用者选择确定键以后,会弹出一个等待窗体来告诉使用者,正在打印中需要等待IOsJOs过后会显示打印成功的消息盒,之后会关闭等待窗体。4.1.6登陆查询模块(1)登陆查询的页面设计在登陆查询的界面除了基础的去除边框的设计以外,需要设计一个可以展示登陆日志的表格,也需要设计账号以及用户名查询位置,并且要设计所用,年,月,日从几几年几月到某某年某月这种时段查询按键。(2)登陆查询的功能设计登陆查询界面在主界面点击弹出此界面的同时需要弹出所用的用户登陆情况,并且可以做到通过,天,周,月,年等选择键和账号用户名进行精确的查找。4.1.7信息查询模块(1)页面设计这里分为老师信息表和学生信息表俩快,设计理念是在一些特定情况下使用者无法联系老师或学生,使用者也可以通过该模块查询获得老师或学生的基本信息,其中列名包含账号,姓名,教师工号(学号)和联系电话。同时还要设计账号和用户名进行单个账号的查询的文本框。如图4.9所示:尺寸遇拚 信息壹询图4. 9信息查询模块页面设计(2)功能设计同设计账号和用户名进行单个账号的杳询。这样在可以方便使用者快速找出老师的联系方式等基础信息。4. 2各类库功能介绍本节主要介绍各个类库在该系统设计中的结构位置以及各个类库所对应的功能做一个简单的概括。4.2. IDBuitily的概念在设计一款管理系统中,往往会在DBuitily层中建立数据库通用访问类SqIHeIperxs这一类库,它主要的功能是对sql中调出调入的数据做出一个基本的运算调整,主要分为俩种类型,一种类型为用标准的SqI语句,另一种类型为使用带参数的SqI语句,主要的方法有三种,一是实现对数据库的增删改,二是获取一个单一的结果,三是获取一个表。以此获取并对数据库进行修改。4.2.2models层介绍这类层设计起来比较简单,以SySAdminS类为例,它主要是用来表示用户的实体类model基本是数据库中表的字段的集合,通过getset访问器,可以从数据库中获得这个表中的列,只需在这个面的声明属性和数据库中的字段一致,就可以接实例化model层的类给属性赋值,然后就能向数据库传递专这个类的实例了,之后就可以被读取出来。如图4.10所示:GasangSygtemuctngunnsycttnUasngIau。一二PaCemodslzI(用妖蓊市用户的实体案t”武U<inldcr1:<wt:!/*MlRt户*M1*<2/«r*v<t<<*9M.:»JtlXMUtW*ft户publzeboolIeStudentlget.aet.1基密处学生.*Ma1rtM>r1,.>*4I0密pbliDateTineLastLxjginTinetgei:set:上次柒除时间图4.10models示例4.2.3DAL层介绍数据访问层,这个层应该是负责程序与数据中心(除了数据库,还有存储数据的文件等)的交互,也就是将数据的增删改查的操作封装起来供其它层直接使,这个层也是实现很多功能的基础层面,这个层面创立类中,会用到很多SqI语句来创建读取或者更改数据的方法,所以在此处做一个简单的模式讲解,如图所示,先创立这个方法和里面所需类型,创立规则是PUbIic+类型(图中为布尔类型,此外还有静态类等)+方法名称+0中所获取的数据类型如图中获取的是整形和字符类型,接下来是准备SqI语句,图中的写法为查找某列在数据库的某个表中,并且获取想要参数,当然还有别的写法,之后填充SqI语句中的参数,通过调用SqlHelPer类方法类型去进行判断,图中就是获取单一的数据,最后将错误抛出。如图4.11所示:/针对用户的基本身份验证/<fsumnarj,)/<paranname=*objSysAdmins"Xparam?/<retums><retums>1个引用publicSyszXdainsLogin(SvsdninsObjSysAdmins).判断密码是否正确1个,用publicboolLogin(intIoginId1StringIoginpwd)stringsql="SelectUserNamefromSysAdminswhereLoginld=LOginldAndLOginPWd=LoginPWd”;填充SqI语句中的参数SqlParameterpara=newSqlParameternewSqlParameter("oginId",loginId),newSglParanleter('LOginPWcr,Ioginpwd),Bif(SqlHeIper.GetOneResult(sql,para)=null)retumfalse,elsereturntrue;catch(Exceplionex)throwex;1图4.11创立方法示例4.2.4Common层这个层面的功能比较简单,主要是对一些数据进行辅助的验证。方法如图4.12所示:!usingsystemusingSySICm.CullcClionS.Generic:usingSystem.Ling;usingSystcm.TcxtusingSystem.Text.RegularExpressions;namespace Comn>n(/<sunmsr)/检验,入判断usingSystem.Threading.TaskSpublicstaticclassValrdateinput/是否是数字1个引用publicstatzcboolIsIntcgcitstringtxt)IRcgcxobjRcgcx-ncvRcgcx(A0-9j*$"):returnobjRegex.IsMatchftxt):图4.12COmmOn层数字验证示例4.3功能实现本节主要对各模块功能的实现过程和实现的功能需求做出详细的介绍。4.3.L多用户的登陆实现多个用户的登陆管理,是诸多管理系统中的基础部分,要想实现这个基础的功能,需要步骤如下:(1)在sql数据库中建立登陆所用的表,在建立表的时候需要通过系统所需要的内容去建立列,本章所需要的列名有,账号,密码,使用者名称,是否是学生,是否是老师,登陆的时间,当然在建立表的时候为了系统间不出错统一使用英文名称,在建立列时,需通过不同的需求去输入不同的类型比如在账号这个列中,如果需要参与数学运算,就需要选择整形,如果字符长度过大则需要选择varchar类型,而如果字符长度是固定的可以选择Char类型,在本系统中,输入的类型如下:账号int型,密码和使用者名称vaechar(20),是否是学生、老师bit型,上次登陆时间SmanDateTime型,同时还要设置主键为账号。建立完成后刷新图表,可右键点击创建的表,选择编辑前200行,在表格中进行数据输入,也可在新建查询中通过SqI语句输入数据,本次输入数据如表4.13所示:LoginldLoqinpwdUserNameIsStudentIsteacherLastLoqinTime1001陈老师FalseTrue2020-05-121.1002李老师FalseTrue2020-05-101-1003小崔TrueFalse2020-05-092.-1004小安TrueFalse2020-04-182.NULLNULLNULLNULLNULLNULL表4.13建立登陆用户表先生成一个实例化的链接,这个部分在DBuitily层中的SqlHelper.cs类库中进行操作,先在窗体下面的APP中输入如图示的公式,其中SoUrCe等于对应的数据库的地址,这里使用的是本机地址,查询方法是点开主机在点运行写入Cmd进入本机的查询程序在输入ipconfig,之后本地计算机上会显示出该计算地址,复制粘贴即可,InitialCatalog这块填写在SqISeVer中所填写的数据库,后面填写在SqlSeVer身份验证下所创立的用户名与密码,在App写完以后在SqlHelper生成链接字符串如图示,其实可以直接在SqlHelper中