3层结构实验报告
PLC三层电梯实验报告

PLC三层电梯实验报告实验报告:PLC三层电梯实验1.实验目的本实验旨在通过使用PLC编程控制电梯的运行,在三层楼之间实现电梯的上下运行,并控制电梯门的打开和关闭。
2.实验器材-三层楼、电梯模型-PLC编程软件-电梯控制器3.实验原理-电梯模型:实验楼层采用三层楼的电梯模型,包括三个楼层BTN1、BTN2和BTN3,以及一个电梯C,门的状态通过XC、YO和Y1表示。
-编程控制:使用PLC编程软件进行电梯的控制逻辑编写,通过输入编写好的程序将控制信号传递给电梯控制器,实现电梯运行和门的开关。
4.实验步骤4.1复位PLC并初始化电梯状态,关闭所有电梯门,将三层按钮的状态初始化为低电平;4.2编写PLC程序:首先,定义电梯运行的逻辑条件,包括按钮被按下和电梯当前的位置。
其次,编写逻辑控制语句,根据按钮的状态和电梯的位置判断电梯的移动和门的开关。
最后,设置运行完成后的复位条件,回到初始状态;4.4调试程序:按下不同楼层的按钮,观察电梯的运行和门的打开关闭情况,检查程序是否按照预期的逻辑运行;4.5对实验进行总结分析。
5.实验结果与分析经过程序的编写和调试,实验得出以下结论:当任意一层楼的按钮被按下时,电梯会根据按钮的位置自动选择最近的一层进行移动,移动过程中电梯门会自动关闭,到达目的楼层后电梯门会自动打开。
同时,通过观察实验楼层的指示灯和电梯运动状态来判断程序是否按照预期运行。
实验结果表明,PLC可以通过编程控制电梯的运动和门的开关,实现了我们预期的功能。
6.实验结论本次实验使用PLC编程控制了三层楼之间电梯的运行和门的开关,实验结果表明PLC编程具有较高的控制精度和可靠性,能够满足电梯运行的基本要求。
通过这次实验,我对PLC编程有了更深入的了解,并学会了如何利用PLC进行控制程序的编写和调试。
我认为PLC在工业自动化领域有着广泛的应用前景,能够有效提高生产线的效率和精度。
7.遇到的问题与解决方法在实验过程中,我遇到了编程逻辑的问题。
绿色开花植物体的结构层次演示实验报告

绿色开花植物体的结构层次演示实验报告
一、实验目的
通过实验演示,探究绿色开花植物体的结构层次,加深对植物结构的理解。
二、实验材料
1.麦苗或其他绿色开花植物
2.显微镜
3.玻璃切片
4.各种药水:如碘液、醋酸红溶液等
三、实验步骤
1.取一片麦苗叶片放在玻璃切片上,加入一滴碘液,观察叶片在显微镜下的变化。
2.将另一片叶片放在玻璃切片上,加入一滴醋酸红溶液,观察叶片在显微镜下的变化。
3.用显微镜观察麦苗的叶绿体、叶毛、细胞壁等微观结构。
四、实验结果
1.在碘液作用下,叶片的淀粉颗粒会变成深蓝色,这说明叶片中含有淀粉。
2.在醋酸红溶液作用下,叶片中的细胞核会变成红色,这有助于观察细胞核的位置和结构。
3.在显微镜下观察,可以清晰地看到叶绿体的结构,叶毛的形态以及细胞壁的特点。
五、实验分析
通过实验演示,我们深入了解了绿色开花植物体的结构层次。
叶片中的淀粉颗粒是储存物质,而细胞核是细胞中的重要器官,叶绿体是光合作用的地方,叶毛和细胞壁则是维持细胞形态和保护细胞的结构。
六、实验结论
通过本次实验演示,我们对绿色开花植物体的结构层次有了更深入的了解。
这些结构层次相互配合,共同维持着植物的生长和发育。
通过实验的方式,我们更直观地了解了植物结构,也更加珍惜和理解了植物的生命。
网络规划综合实验报告(3篇)

第1篇一、实验背景随着信息技术的飞速发展,网络已成为现代企业、学校等组织运行的重要基础设施。
为了更好地满足网络应用需求,提高网络性能和安全性,网络规划与设计显得尤为重要。
本实验旨在通过实际操作,使学生掌握网络规划的基本方法,提高网络规划与设计能力。
二、实验目的1. 了解网络规划的基本流程和原则;2. 掌握网络拓扑结构、设备选型、IP地址规划等网络规划方法;3. 学会使用网络规划工具,如Packet Tracer等;4. 提高网络规划与设计能力,为实际工作打下基础。
三、实验环境1. 实验设备:笔记本电脑、Packet Tracer、路由器、交换机等;2. 实验软件:Packet Tracer、网络规划工具等;3. 实验资料:网络规划与设计教材、网络设备手册等。
四、实验内容1. 实验任务:为某公司设计一个网络,包括网络拓扑结构、设备选型、IP地址规划等;2. 实验步骤:(1)需求分析:了解公司规模、部门分布、网络应用需求等,确定网络规模和性能要求;(2)网络拓扑设计:根据需求分析结果,设计网络拓扑结构,包括核心层、汇聚层和接入层;(3)设备选型:根据网络拓扑结构,选择合适的网络设备,如路由器、交换机、防火墙等;(4)IP地址规划:规划网络IP地址,包括公网IP地址和私有IP地址;(5)配置网络设备:在Packet Tracer中配置网络设备,实现网络连通;(6)测试网络性能:测试网络性能,如带宽、延迟、丢包率等;(7)总结实验结果:总结实验过程和结果,提出改进建议。
五、实验结果与分析1. 网络拓扑结构:采用三层网络架构,包括核心层、汇聚层和接入层;2. 设备选型:核心层采用路由器,汇聚层采用三层交换机,接入层采用二层交换机;3. IP地址规划:采用私有IP地址规划,公网IP地址通过NAT转换;4. 网络连通性:通过配置网络设备,实现网络连通;5. 网络性能:测试结果表明,网络带宽、延迟、丢包率等性能指标均符合设计要求。
解剖下肢深层实验报告

实验日期:2023年X月X日实验地点:解剖实验室实验指导老师:[指导老师姓名]实验目的:1. 理解下肢深层的解剖结构。
2. 掌握下肢深层主要血管、神经和肌肉的分布和走向。
3. 了解下肢深层结构的临床意义。
实验材料:1. 下肢尸体标本2. 解剖器械(手术刀、剪刀、镊子、探针等)3. 标本固定架4. 解剖图谱和参考资料实验步骤:一、皮肤与浅筋膜1. 将下肢尸体标本固定于标本固定架上,观察皮肤的颜色、厚度和纹理。
2. 用手术刀在皮肤上做纵形切口,向下剥离皮肤,暴露浅筋膜。
3. 观察浅筋膜的厚度、颜色和结构,注意其与深筋膜的联系。
二、深层结构1. 肌肉:- 观察股四头肌、股二头肌、半腱肌、半膜肌、腓肠肌等主要肌肉的形态、起止点和走行方向。
- 切开肌肉,观察肌肉的内部结构,如肌纤维的排列、血管和神经的分布等。
2. 血管:- 观察股动脉、股静脉、腘动脉、腘静脉等主要血管的走行路径、分支和毗邻关系。
- 切开血管,观察血管壁的结构和血管内的血液流动情况。
3. 神经:- 观察坐骨神经、股神经、腓总神经等主要神经的走行路径、分支和毗邻关系。
- 切开神经,观察神经的外膜、束膜和神经纤维的结构。
三、临床应用1. 讨论下肢深层结构在临床医学中的应用,如手术、诊断和治疗等。
2. 分析下肢深层结构损伤后的临床表现和治疗方法。
实验结果:1. 肌肉:- 股四头肌:起始于髂前上棘、股骨粗隆间线,止于胫骨粗隆。
- 股二头肌:起始于坐骨结节,止于胫骨粗隆。
- 半腱肌:起始于坐骨结节,止于胫骨粗隆。
- 半膜肌:起始于坐骨结节,止于胫骨粗隆。
- 腓肠肌:起始于股骨外侧髁,止于跟骨。
2. 血管:- 股动脉:起始于腹主动脉,止于腘动脉。
- 股静脉:起始于股动脉,止于髂外静脉。
- 腘动脉:起始于股动脉,止于胫后动脉。
- 腘静脉:起始于股静脉,止于髂外静脉。
3. 神经:- 坐骨神经:起始于骶丛,止于足底。
- 股神经:起始于腰丛,止于膝关节上方。
臀部局部解剖实验报告

一、实验目的1. 了解臀部解剖结构,包括皮肤、浅筋膜、深筋膜、肌肉、血管、神经等。
2. 熟悉臀部的层次结构,掌握各层次之间的关系。
3. 培养观察和描述解剖结构的能力。
二、实验材料1. 人体解剖学图谱2. 前臂标本3. 实验显微镜4. 实验记录纸三、实验步骤1. 皮肤和浅筋膜观察- 观察皮肤的颜色、厚度和纹理。
- 观察浅筋膜的厚度和脂肪组织的分布。
- 注意皮肤与浅筋膜之间的连接。
2. 深筋膜和肌肉观察- 观察深筋膜的厚度和形态。
- 观察臀大肌、臀中肌、臀小肌的形态、位置和起止点。
- 观察梨状肌的形态、位置和起止点。
- 观察闭孔内肌、闭孔外肌、股方肌的形态、位置和起止点。
3. 血管和神经观察- 观察臀上动脉、臀下动脉的形态、位置和走行。
- 观察臀上神经、臀下神经、坐骨神经的形态、位置和走行。
4. 层次结构观察- 观察臀部各层次之间的关系,如皮肤与浅筋膜、浅筋膜与深筋膜、肌肉与筋膜等。
四、实验结果1. 臀部皮肤较厚,具有丰富的皮脂腺和汗腺。
2. 臀部浅筋膜发达,有厚层脂肪组织,其后下部厚而致密,形成脂肪垫。
3. 臀部深层结构包括深筋膜、肌肉、血管、神经等。
4. 臀大肌、臀中肌、臀小肌位于臀部深层,呈扇形分布。
5. 臀上动脉、臀下动脉走行于臀大肌和臀中肌之间。
6. 臀上神经、臀下神经、坐骨神经走行于臀大肌下方。
五、实验讨论1. 臀部肌肉在人体运动中起着重要作用,如行走、跑步、跳跃等。
2. 臀部血管和神经的分布与肌肉的分布密切相关。
3. 了解臀部的解剖结构有助于诊断和治疗臀部疾病。
六、实验总结本次实验通过对臀部局部解剖结构的观察,掌握了臀部的层次结构、肌肉、血管、神经等基本知识。
通过实验,提高了观察和描述解剖结构的能力,为今后的临床工作打下了基础。
七、注意事项1. 实验过程中要保持安静,避免影响他人。
2. 观察时要仔细,注意各结构的形态、位置和走行。
3. 实验结束后,要将实验器材归位,保持实验室整洁。
八、参考文献[1] 好大夫在线. 局部解剖--臀部[J]. 好大夫在线, 2009(6): 21.[2] 臀部、股后区、国窝的局部解剖课件.ppt. 文库网.[3] 动物局部解剖学后肢. 第一节臀部的解剖.[4] 局部解剖学(上肢)实验报告. 广中医.。
组织结构分析实验报告

一、实验背景组织结构是企业运营的核心,合理的组织结构有助于提高企业效率、促进企业成长。
本实验旨在通过对某企业组织结构的分析,探讨其优缺点,并提出改进建议。
二、实验目的1. 了解企业组织结构的基本类型及特点;2. 分析某企业组织结构的优缺点;3. 提出改进企业组织结构的建议。
三、实验方法1. 资料收集:查阅相关文献、企业年报、新闻报道等资料,了解企业背景及组织结构;2. 案例分析:选取某企业作为研究对象,分析其组织结构的现状;3. 比较分析:对比不同类型组织结构的优缺点,为改进企业组织结构提供依据。
四、实验内容1. 企业背景及组织结构现状某企业成立于2000年,主要从事电子产品研发、生产和销售。
经过多年的发展,企业规模不断扩大,员工人数超过1000人。
企业组织结构如下:(1)高层领导:董事长、总经理、副总经理;(2)中层管理:各部门经理、副经理;(3)基层员工:生产工人、销售员、研发人员等。
2. 组织结构优缺点分析(1)优点:①权责明确:企业组织结构层次分明,权责明确,有利于提高管理效率;②分工合理:各部门职责清晰,分工合理,有利于发挥员工的专业优势;③沟通顺畅:组织结构相对简单,沟通渠道畅通,有利于信息传递和决策执行。
(2)缺点:①决策效率低:高层领导权力过于集中,决策过程繁琐,影响决策效率;②部门间协作不足:各部门之间存在一定的利益冲突,协作意识不强;③创新能力不足:组织结构相对僵化,不利于创新思维的发挥。
3. 改进建议(1)优化高层领导决策机制:建立科学的决策程序,提高决策效率;(2)加强部门间协作:建立跨部门沟通机制,促进信息共享和协作;(3)引入创新激励机制:设立创新基金,鼓励员工提出创新建议;(4)调整组织结构:根据企业发展战略和市场需求,适时调整组织结构,提高组织灵活性。
五、实验结论通过对某企业组织结构的分析,发现其存在决策效率低、部门间协作不足、创新能力不足等问题。
针对这些问题,提出了优化高层领导决策机制、加强部门间协作、引入创新激励机制和调整组织结构等改进建议。
植物内部构造实验报告(3篇)

第1篇一、实验目的1. 了解植物根、茎、叶的基本结构及其功能。
2. 掌握植物内部构造的观察方法。
3. 比较不同植物器官的结构差异。
二、实验原理植物内部构造是指植物器官的内部组织结构,主要包括细胞、组织、器官三个层次。
通过观察植物根、茎、叶的横切面和纵切面,可以了解其内部构造和功能。
三、实验材料1. 根:胡萝卜、土豆2. 茎:向日葵、玉米3. 叶:白菜、荷叶4. 实验器材:显微镜、解剖刀、刀片、载玻片、盖玻片、吸水纸、酒精灯、火柴、剪刀、镊子等。
四、实验步骤1. 根部观察(1)将胡萝卜和土豆分别切成薄片,置于载玻片上。
(2)滴加适量的水,盖上盖玻片。
(3)在显微镜下观察根的内部结构,包括表皮、皮层、维管束等。
(4)记录观察结果。
2. 茎部观察(1)将向日葵和玉米的茎分别切成薄片,置于载玻片上。
(2)滴加适量的水,盖上盖玻片。
(3)在显微镜下观察茎的内部结构,包括表皮、皮层、维管束等。
(4)记录观察结果。
3. 叶部观察(1)将白菜和荷叶分别切成薄片,置于载玻片上。
(2)滴加适量的水,盖上盖玻片。
(3)在显微镜下观察叶的内部结构,包括表皮、叶肉、叶脉等。
(4)记录观察结果。
五、实验结果与分析1. 根部结构胡萝卜根和土豆根的内部结构基本相似,包括表皮、皮层和维管束。
表皮细胞排列紧密,起到保护作用;皮层细胞排列疏松,有利于水分和养分的运输;维管束负责水分和养分的输送。
2. 茎部结构向日葵茎和玉米茎的内部结构基本相似,包括表皮、皮层和维管束。
表皮细胞排列紧密,起到保护作用;皮层细胞排列疏松,有利于水分和养分的运输;维管束负责水分和养分的输送。
玉米茎具有发达的气腔,有利于呼吸作用。
3. 叶部结构白菜叶和荷叶的内部结构存在一定差异。
白菜叶的内部结构包括表皮、叶肉和叶脉,叶肉细胞排列紧密,有利于光合作用;荷叶的内部结构包括表皮、叶肉和叶脉,叶肉细胞排列疏松,有利于水分蒸发和光合作用。
六、实验结论通过本次实验,我们了解了植物根、茎、叶的基本结构及其功能。
层次分析法实验报告

层次分析法实验报告层次分析法实验报告一、引言层次分析法(Analytic Hierarchy Process,简称AHP)是一种多准则决策方法,由美国运筹学家托马斯·L·塞蒂(Thomas L. Saaty)于1970年提出。
该方法通过对决策问题进行层次结构分解,建立判断矩阵,计算权重,最终得出决策结果。
本实验旨在通过使用层次分析法解决一个实际问题,验证该方法在决策问题中的应用效果。
二、实验目的1. 了解层次分析法的基本原理和步骤;2. 掌握构建层次结构和判断矩阵的方法;3. 熟悉计算权重和一致性检验的过程;4. 验证层次分析法在决策问题中的实际应用效果。
三、实验过程1. 确定决策问题:选择一个实际的决策问题,例如购买一台新电脑;2. 构建层次结构:将决策问题分解为准则层、子准则层和方案层,形成层次结构;3. 制作判断矩阵:对每个层次的元素进行两两比较,根据重要性进行评分,构建判断矩阵;4. 计算权重:通过特征向量法计算每个层次的权重;5. 一致性检验:计算一致性指标,判断判断矩阵是否合理;6. 决策结果:根据权重计算得出最终的决策结果。
四、实验结果在购买新电脑的决策问题中,我们构建了准则层、子准则层和方案层的层次结构。
准则层包括性能、价格和品牌三个元素;子准则层包括CPU、内存、硬盘、显卡和屏幕五个元素;方案层包括若干个不同品牌和型号的电脑。
通过对每个层次的元素进行两两比较,我们制作了判断矩阵。
以性能为例,我们对CPU、内存、硬盘、显卡和屏幕进行了两两比较,根据其重要性进行评分。
同样地,我们对价格和品牌也进行了两两比较,得到了相应的判断矩阵。
接下来,我们通过特征向量法计算了每个层次的权重。
将判断矩阵的列向量归一化后,求得特征向量,并计算了每个元素的权重。
通过一致性检验,我们发现判断矩阵的一致性指标在合理范围内,说明判断矩阵的构建是可靠的。
最终,根据权重计算得出了最佳决策结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业技能训练报告学院:计算机学院课程名称:网络应用开发专业技能训练专业班级:学生:学号:学生:学号:学生:学号:指导教师:黄涛完成时间:2015年6月27日目录1网络应用开发实验 (3)1.1问题描述 (3)1.2需求分析 (3)1.3概要设计 (4)1.4流程图 (4)1.5详细设计 (5)1.6调试分析 (20)1.7运行结果及分析 (20)《网络应用开发》评分表 (22)1网络应用开发实验1.1问题描述一个数据库中,有两个数据表。
其中custom,department表如下结构。
Custom与department的关系如下图所示。
设计一个基于Web的应用程序,采用3层结构的方式实现对custom,department 表中的记录进行:插入、修改、删除、查询的操作。
使用语言:C#语言编译环境:visual studio 20131.2需求分析使用三层架构来开发系统和,开发人员可以只关注整个结构中的其中某一层;可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用;结构更加的明确;在后期维护的时候,极降低了维护成本和维护时间。
1.3概要设计三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。
我们先设计一个model,用于传递和记录相应表的一行数据值,简化传参的过程。
然后设计数据访问层(DAL),用于对数据表的数据处理;同时设计一个相应的SQLhelper 类,用于对数据库的操作(增加、删除、修改、查询)进行封装。
接着再设计业务逻辑层(BLL),用于操作数据访问层,解决具体业务问题,最后设计表现层,可用web页面或者winform页面,主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问1.4流程图1.5详细设计1.创建数据库,命名为CustANDDepa建立Custom表建立Department表表格示例数据打开VS2013创建一个项目,依次创建BLL类库(业务层),DAL类库(DAL层),Model (实体数据层)类库和SQLHelper类库(数据库操作类)结果如图2.Model(数据实体模型)数据实体模式用于映射数据表或试图,该类包括custom表和department表的字段属性DepartmentModel.csCustomModel.cs2.SQLHelper(数据库操作类)封装了数据操作的常用方法,包括数据库对象的建立,数据连接与释放,无返回值的查询操作,单反回值的查询操作以及多返回值得查询操作。
3.DAL(数据操作层) CustomDAL.csusing System;using System.Collections.Generic; using System.Data;using System.Data.SqlClient; using System.Linq;using System.Text;using System.Threading.Tasks; using SQLHelper;using Model;namespace DAL{public class CustomDAL{///<summary>///数据模型转换///</summary>///<param name="row"></param>///<returns></returns>private CustomModel ToModel(DataRow row){CustomModel custom=new CustomModel();custom.id= (int)row["id"];ame= (string)row["cname"];custom.departID= (int)row["departID"];custom.age= (int)row["age"];custom.ename= (string)row["ename"];custom.password= (string)row["password"];return custom;}///<summary>///验证用户///</summary>///<param name="custom"></param>///<returns></returns>public int CheckUser(CustomModel custom){string ename=custom.ename;string password=custom.password;returnConvert.ToInt32(SqlHelper.ExecuteScalar("select * from T_Custom where ename=ename and password=password",new SqlParameter("ename", ename),new SqlParameter("password", password)));}///<summary>///获取记录数///</summary>///<returns></returns>public int GetRecordCounts(){return Convert.ToInt32(SqlHelper.ExecuteScalar("select count(*) fromT_Custom"));}///<summary>///查询所有的数据///</summary>///<returns></returns>public IEnumerable<CustomModel>ListAll(){List<CustomModel>list=new List<CustomModel>();DataTable dt=SqlHelper.ExecuteDataTable("select * from T_Custom");foreach (DataRow row in dt.Rows){CustomModel cust=ToModel(row);}return list;}///<summary>///根据id获取数据*************查///</summary>///<param name="id"></param>///<returns></returns>public CustomModel GetById(int id){DataTable dt=SqlHelper.ExecuteDataTable("select * from T_Custom where id=id",new SqlParameter("id", id));if (dt.Rows.Count<=0){return null;}else{return ToModel(dt.Rows[0]);}}///<summary>///根据departid查询记录///</summary>///<param name="departId"></param>///<returns></returns>public DataTable GetByValueDepartId(int departId){return SqlHelper.ExecuteDataTable("select * from T_Custom wheredepartID=departId",new SqlParameter("departId", departId));}///<summary>///根据id获取数据集合用于Gridview控件的数据绑定///</summary>///<param name="id"></param>///<returns></returns>public DataTable GetByValueId(int id){return SqlHelper.ExecuteDataTable("select * from T_Custom where id=id", new SqlParameter("id", id));}///<summary>///根据查询记录///</summary>///<param name="name"></param>///<returns></returns>public DataTable GetByName(string name){return SqlHelper.ExecuteDataTable("select * from T_Custom whereame=name", new SqlParameter("name", name));}///<summary>///根据年龄查询记录///</summary>///<param name="age"></param>///<returns></returns>public DataTable GetByage(int age){return SqlHelper.ExecuteDataTable("select * from T_Custom where age=age", new SqlParameter("age", age));}///<summary>///更新一条记录************改///</summary>///<param name="custom"></param>public void Update(CustomModel custom){SqlHelper.ExecuteNonQuery("update [T_Custom]setame=cname,departID=departID,age=age,ename=ename,password=password where id=id", new SqlParameter("cname", ame), new SqlParameter("departID", custom.departID), new SqlParameter("age", custom.age), new SqlParameter("ename", custom.ename), new SqlParameter("password", custom.password), new SqlParameter("id", custom.id));}///<summary>///插入一条记录*************增///</summary>///<param name="custom"></param>public void Insert(CustomModel custom){SqlHelper.ExecuteNonQuery("INSERT INTO[T_Custom]([id],[cname],[departID],[age],[ename],[password])VALUES(id,cname,departID,a ge,ename,password)", new SqlParameter("cname", ame), new SqlParameter("departID", custom.departID), new SqlParameter("age", custom.age), new SqlParameter("ename", custom.ename), new SqlParameter("password", custom.password), new SqlParameter("id", custom.id));}///<summary>///删除id=id的记录************删///</summary>///<param name="id"></param>public void DeleteById(int id){SqlHelper.ExecuteNonQuery("delete from T_Custom where id=id", new SqlParameter("id", id));}}}departmentDAL.csusing System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;using SQLHelper;using Model;namespace DAL{public class DepartmentDAL{///<summary>///数据模型的转换///</summary>///<param name="row"></param>///<returns></returns>private DepartmentModel ToModel(DataRow row){DepartmentModel department=new DepartmentModel();department.id= (int) row["id"];department.departname= (string) row["departname"];department.description= (string) row["description"];return department;}///<summary>///获取记录数///</summary>///<returns></returns>public int GetRecordCounts(){return Convert.ToInt32(SqlHelper.ExecuteScalar("select count(*) fromT_Department"));}///<summary>///根据id获取数据***************查///</summary>///<param name="id"></param>///<returns></returns>public DepartmentModel GetById(int id){DataTable dt=SqlHelper.ExecuteDataTable("select * from T_Department where id=id",new SqlParameter("id", id));if (dt.Rows.Count<=0){return null;}else{return ToModel(dt.Rows[0]);}}///<summary>///根据id获取数据集合用于Gridview控件的数据绑定///<param name="id"></param>///<returns></returns>public DataTable GetByValueId(int id){return SqlHelper.ExecuteDataTable("select * from T_Department where id=id", new SqlParameter("id", id));}///<summary>///根据部门名称查询并返回记录集///</summary>///<param name="departname"></param>///<returns></returns>public DataTable GetByName(string departname){return SqlHelper.ExecuteDataTable("select * from T_Department where departname=departname",new SqlParameter("departname", departname));}///<summary>///更新一条记录*****************改///</summary>///<param name="department"></param>public void Update(DepartmentModel department){SqlHelper.ExecuteNonQuery("update [T_Department] setdepartname=departname,description=description where id=id", new SqlParameter("departname", department.departname), new SqlParameter("description", department.description), new SqlParameter("id", department.id));}///<summary>///插入一条记录///</summary>///<param name="department"></param>public void Insert(DepartmentModel department){SqlHelper.ExecuteNonQuery("INSERT INTO[T_Department]([id],[departname],[description])VALUES(id,departname,description)", new SqlParameter("id", department.id), new SqlParameter("departname", department.departname), new SqlParameter("description", department.description));}///删除一条记录///</summary>///<param name="id"></param>public void DeleteById(int id){SqlHelper.ExecuteNonQuery("delete from T_Department where id=id", new SqlParameter("id", id));}}}4.BLL(业务逻辑层)customBLL.csusing System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;using DAL;using Model;namespace BLL{public class CustomBLL{DAL.CustomDAL customDal=new CustomDAL();///<summary>///检查登陆名及密码///</summary>///<param name="custom"></param>///<returns></returns>public bool CheckUser(CustomModel custom){if (customDal.CheckUser(custom) ==1){return true;}else{return false;}}///<summary>///获取记录数///</summary>///<returns></returns>public int RecordCount(){return customDal.GetRecordCounts();}///<summary>///添加对象///</summary>///<param name="custom"></param>public void addUser(Model.CustomModel custom){customDal.Insert(custom);}///<summary>///根据departid值查询并返回记录///</summary>///<param name="id"></param>///<returns></returns>public DataTable GetBydepartId(int departid){return customDal.GetByValueDepartId(departid); }///<summary>///根据id值查询并返回记录///</summary>///<param name="id"></param>///<returns></returns>public DataTable GetByValueId(int id){return customDal.GetByValueId(id);}///<summary>///根据id返回数据模型///</summary>///<param name="id"></param>///<returns></returns>public CustomModel GetById(int id){return customDal.GetById(id);}///<summary>///根据查询并返回记录///</summary>///<param name="name"></param>///<returns></returns>public DataTable GetByName(string name){return customDal.GetByName(name);}///<summary>///根据年龄查询并返回记录///</summary>///<param name="age"></param>///<returns></returns>public DataTable GetByAge(int age){return customDal.GetByage(age);}///<summary>///根据id值删除记录///</summary>///<param name="id"></param>public void DeleteById(int id){customDal.DeleteById(id);}///<summary>///更新记录///</summary>///<param name="custom"></param>public void Update(CustomModel custom){customDal.Update(custom);}}}departmentBLL.csusing System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;using DAL;using Model;namespace BLL{public class DepartmentBLL{DAL.DepartmentDAL departmentDal=new DepartmentDAL();///<summary>///获取记录数///</summary>///<returns></returns>public int RecordCount(){return departmentDal.GetRecordCounts();}///<summary>///添加对象///</summary>///<param name="department"></param>public void addDepartment(Model.DepartmentModel department) {departmentDal.Insert(department);}///<summary>///根据id值查询并返回记录///</summary>///<param name="id"></param>///<returns></returns>public DataTable GetByValueId(int id){return departmentDal.GetByValueId(id);}///<summary>///根据id返回数据模型///</summary>///<param name="id"></param>///<returns></returns>public DepartmentModel GetById(int id){return departmentDal.GetById(id);}///<summary>///根据查询并返回记录///</summary>///<param name="name"></param>///<returns></returns>public DataTable GetBydepartname(string departname) {return departmentDal.GetByName(departname);}///<summary>///根据id值删除记录///</summary>///<param name="id"></param>public void DeleteById(int id){departmentDal.DeleteById(id);}///<summary>///更新记录///</summary>///<param name="custom"></param>public void Update(DepartmentModel department){departmentDal.Update(department);}}}5.web(UI表示层)登陆1.6调试分析1.7运行结果及分析Custom表增加记录查询记录删除记录修改记录Department表操作逻辑相似《网络应用开发》评分表指导教师签名:日期:_2015年6月27日_。