软件集成开发环境课程设计
- 格式:doc
- 大小:915.00 KB
- 文档页数:39
软件课程设计方案设计模板一、课程目标知识目标:1. 学生能理解软件设计的基本概念,掌握软件开发流程的关键环节。
2. 学生能掌握一种编程语言的基础语法和结构,如Python或C++。
3. 学生能运用所学的软件设计知识,分析并解决实际问题。
技能目标:1. 学生具备使用软件工具进行编程的能力,能编写简单的程序。
2. 学生能运用逻辑思维和问题解决技巧,设计并实现小型软件项目。
3. 学生通过实践,提升团队协作、沟通表达和项目管理的能力。
情感态度价值观目标:1. 学生培养对软件开发的兴趣,激发创新意识和探索精神。
2. 学生树立正确的价值观,认识到软件技术对社会发展的积极影响。
3. 学生通过课程学习,增强自信心,培养克服困难、持之以恒的品质。
课程性质:本课程为实践性较强的学科,注重培养学生的动手能力和解决问题的能力。
学生特点:学生处于初中年级,具有一定的逻辑思维能力和好奇心,对新鲜事物充满兴趣。
教学要求:结合学生特点,课程设计应注重理论与实践相结合,以项目为导向,激发学生的兴趣和参与度。
通过分解课程目标为具体的学习成果,使学生在实践中掌握知识,提高技能,培养情感态度价值观。
后续教学设计和评估将以此为基础,确保课程目标的实现。
二、教学内容1. 软件开发基本概念:介绍软件开发流程、编程语言及编程环境。
- 教材章节:第一章 软件与软件开发- 内容:软件开发流程、编程语言特点、编程环境搭建2. 编程语法与结构:讲解一种编程语言的基础语法、数据类型、运算符、控制结构等。
- 教材章节:第二章 编程语言基础- 内容:变量与数据类型、运算符、条件语句、循环语句3. 简单程序设计:学习编写简单的程序,锻炼编程能力。
- 教材章节:第三章 简单程序设计- 内容:程序结构、函数、输入输出、调试技巧4. 软件项目实践:通过团队协作,设计并实现小型软件项目。
- 教材章节:第四章 软件项目实践- 内容:需求分析、设计、编码、测试、项目管理5. 逻辑思维与问题解决:培养逻辑思维,提高问题解决能力。
vb课程设计开发环境一、教学目标本节课的教学目标是使学生掌握VB课程设计开发环境的基本知识和技能,能够熟练使用VB集成开发环境(IDE),并理解VB程序的基本结构。
具体目标如下:1.理解VB集成开发环境(IDE)的界面和功能。
2.掌握VB程序的基本结构,包括代码窗口、设计窗口和运行窗口。
3.了解VB中的基本数据类型和变量。
4.能够设置VB集成开发环境,包括编写、编译和运行VB程序。
5.能够使用VB代码窗口编写简单的VB程序。
6.能够使用VB设计窗口进行界面设计,添加控件并设置属性。
情感态度价值观目标:1.培养学生对计算机编程的兴趣和好奇心。
2.培养学生积极主动探索新知识的精神,提高学生的自学能力。
3.培养学生团队协作的能力,鼓励学生在团队中互相学习和帮助。
二、教学内容本节课的教学内容主要包括VB集成开发环境(IDE)的介绍和使用,以及VB程序的基本结构。
具体内容如下:1.VB集成开发环境(IDE)的介绍:包括IDE的界面和功能,如代码窗口、设计窗口和运行窗口等。
2.VB程序的基本结构:包括代码窗口中的基本数据类型和变量,设计窗口中的控件添加和属性设置等。
3.编写、编译和运行VB程序的基本步骤:包括打开IDE,创建新项目,编写代码,设置属性,编译和运行程序等。
三、教学方法本节课的教学方法主要包括讲授法、示例法和实验法。
具体方法如下:1.讲授法:教师通过讲解和演示,向学生介绍VB集成开发环境(IDE)的界面和功能,以及VB程序的基本结构。
2.示例法:教师通过编写示例程序,展示如何使用VB集成开发环境进行编程,并引导学生模仿和编写自己的程序。
3.实验法:学生通过在计算机上进行实验,实践编写、编译和运行VB程序,加深对VB集成开发环境的理解和掌握。
四、教学资源本节课的教学资源主要包括教材、多媒体资料和计算机实验设备。
具体资源如下:1.教材:教师准备一本关于VB课程设计开发环境的教材,用于引导学生学习和复习。
软件课程设计一、教学目标本课程的目标是让学生掌握软件的基本概念、设计和开发流程,培养学生运用软件解决问题的能力。
具体目标如下:1.知识目标:(1)理解软件的定义、分类和特点;(2)掌握软件开发生命周期及其各个阶段的主要任务;(3)了解软件设计的基本原则和方法;(4)熟悉常用软件开发工具和环境。
2.技能目标:(1)能够运用软件工程方法进行软件项目规划和管理;(2)具备使用至少一种编程语言进行软件开发的能力;(3)掌握软件测试方法和技巧,能够编写测试用例和执行测试;(4)能够进行软件文档编写,包括需求分析、设计说明书和用户手册等。
3.情感态度价值观目标:(1)培养学生对软件工程的热爱和敬业精神;(2)增强学生的团队协作意识和沟通能力;(3)培养学生具备创新精神和持续学习的意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.软件基本概念:软件的定义、分类、特点和演化过程;2.软件开发生命周期:需求分析、设计、编码、测试和维护等阶段;3.软件设计原则和方法:模块化、抽象化、数据结构与算法等;4.软件开发工具和环境:集成开发环境(IDE)、版本控制系统等;5.软件项目管理:项目规划、、执行、监控和评估等;6.软件测试:测试策略、测试方法、测试用例设计等;7.软件文档编写:需求分析文档、设计说明书、用户手册等。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:讲解软件基本概念、原理和方法;2.案例分析法:分析典型软件项目案例,引导学生掌握软件开发过程;3.实验法:让学生动手实践,培养实际编程和软件开发能力;4.讨论法:学生分组讨论,促进互动交流和团队协作。
四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,如《软件工程》、《软件开发实践》等;2.参考书:提供相关领域的经典著作和最新研究成果,供学生拓展阅读;3.多媒体资料:制作课件、教学视频等,丰富教学手段;4.实验设备:配置计算机实验室,确保学生能够进行实际操作。
软件工程课程设计模板软件工程课程设计模板是用于指导学生在软件工程课程中进行项目开发的一种模板。
它提供了一个结构化的框架,帮助学生组织和管理项目的各个阶段,从需求分析到软件设计、编码、测试和部署。
以下是一个常见的软件工程课程设计模板的示例:1. 项目背景与目标:在这一部分,学生需要介绍项目的背景和目标。
背景可以包括项目的重要性、所解决的问题、相关的行业背景等。
目标可以包括项目要实现的功能、预期的效益等。
2. 需求分析:这一部分要求学生对项目进行需求分析。
学生需要收集和整理用户需求,明确项目的功能和性能要求。
可以使用用例图、需求规格说明书等工具来描述和分析需求。
3. 软件设计:在软件设计阶段,学生需要结合需求分析的结果,进行软件的整体架构设计和详细设计。
学生可以使用结构化设计方法、面向对象设计方法等来进行软件设计。
4. 编码与测试:在这一部分,学生需要根据软件设计的结果进行编码和测试。
学生需要选择适当的编程语言和开发环境,并按照软件设计的要求进行编码。
同时,学生还需要进行单元测试、集成测试和系统测试,以确保软件的质量。
5. 软件部署与维护:在软件完成开发和测试后,学生需要进行软件的部署和维护。
学生需要将软件部署到目标环境中,并进行运行和监控。
同时,学生还需要进行软件的维护和更新,以满足用户的需求。
6. 项目总结与展望:在这一部分,学生需要对整个项目进行总结和展望。
学生可以回顾项目的成果和不足,提出改进的建议。
同时,学生还可以展望项目未来的发展方向和可能的扩展。
这是一个基本的软件工程课程设计模板,可以根据具体的项目和课程要求进行调整和扩展。
通过使用这个模板,学生可以更加系统地进行软件项目开发,提高项目的质量和效率。
软件开发培训课程设计方案随着经济的快速发展和科技的飞速进步,社会对于软件开发人才的需求量增加,每一家企业都在寻求能够满足其需求的开发人才,而对于这方面的培训往往难以满足市场的需求。
现阶段,学校相对而言开设的软件开发类课程数量是有限的,内容也不是很新颖,只是停留在基础理论层面,重点不在于实践,也不能够给学生带来实际落地的技能。
二、设计方案为了解决软件开发培训课程设计上的缺失,我们制定出以下课程设计方案:(一)课程模块设计根据后续实践要求,我们将课程分为三大模块:1、基础知识模块:包括计算机科学基础、计算机网络、数据库原理、操作系统等;2、软件工程基础模块:包括面向对象分析与设计、软件架构设计、UML(统一建模语言)等;3、实践模块:包括Java、C/C++、Python等软件开发语言的实践。
(二)教学实施计划1、创建一个灵活的模拟环境,让学生实现一个小型的软件开发项目;2、使用系统化的方法讲解软件开发流程,帮助学生掌握软件开发的各个部分;3、重点系统化讲解软件开发中遇到的各种技术和工具,让学生更加了解软件开发;4、组织实践项目,推进实践技能的掌握,锻炼学生的实践能力;5、实践项目结束后评估学生实践能力,推进软件开发技能水平的提升。
(三)课程考核标准1、认真完成课堂学习;2、准确摘要实践项目步骤和设计;3、实现一个小型的软件开发项目;4、正确使用软件技术和工具;5、及时归纳总结实践项目过程中遇到的问题及解决办法;6、熟练掌握软件开发流程。
三、结论通过以上设计,可以更加有效、准确地提升学生的软件开发技能水平,使学生在软件开发中有更多实际应用的能力,从而满足当今社会对于高级软件开发人才的需求。
软件基础课课程设计一、教学目标本节课的教学目标是让学生掌握软件基础知识和技能,培养学生对软件开发的兴趣和热情,提高学生的问题解决能力。
具体目标如下:1.知识目标:学生能够了解软件开发的基本概念、流程和工具;掌握至少一种编程语言的基本语法和编程技巧。
2.技能目标:学生能够使用相关工具进行软件开发,具备基本的编程能力和问题解决能力;能够进行团队合作,进行软件项目的开发和管理。
3.情感态度价值观目标:学生能够认识到软件开发对社会的重要性,培养对软件开发的兴趣和热情;具有良好的团队合作精神和创新意识。
二、教学内容本节课的教学内容主要包括软件开发的基本概念、流程和工具;编程语言的基本语法和编程技巧。
具体内容如下:1.软件开发基本概念:软件的定义、特点、分类和生命周期。
2.软件开发流程:需求分析、设计、编码、测试和维护。
3.软件开发工具:集成开发环境(IDE)、版本控制系统、项目管理工具。
4.编程语言基本语法和编程技巧:变量、数据类型、运算符、控制结构、函数、面向对象编程等。
三、教学方法为了提高教学效果,本节课将采用多种教学方法相结合的方式进行教学。
具体方法如下:1.讲授法:教师通过讲解软件开发的基本概念、流程和工具,编程语言的基本语法和编程技巧,使学生掌握相关知识。
2.案例分析法:教师通过分析实际案例,使学生了解软件开发的具体过程和技巧。
3.实验法:学生通过上机实验,巩固所学知识,提高编程能力。
4.小组讨论法:学生分组进行讨论,培养团队合作精神和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供全面、系统的学习资料。
2.参考书:提供相关领域的参考书籍,帮助学生拓展知识面。
3.多媒体资料:制作精美的PPT、教学视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:保证学生有充足的计算机设备进行实验和实践。
五、教学评估本节课的评估方式将包括平时表现、作业和考试三个方面,以保证评估的全面性和公正性。
软件工程课程设计软件工程课程设计是计算机科学与技术领域中的一项重要内容,旨在培养学生的软件设计与开发能力。
本文将就软件工程课程设计的背景、目标、方法和实施过程等方面进行探讨。
1. 背景随着信息技术的发展和应用范围的不断扩展,软件在现代社会中的作用愈发重要。
然而,由于软件的复杂性和特殊性,其开发过程中存在着一系列的问题和挑战。
因此,软件工程课程设计应运而生。
2. 目标软件工程课程设计的主要目标在于培养学生的软件工程思维和实践能力。
具体包括以下几个方面:(1)使学生了解软件工程的基本概念、原则和方法;(2)培养学生的需求分析、系统设计和软件开发能力;(3)提高学生的团队合作和沟通协调能力;(4)加强学生的项目管理和质量控制意识。
3. 方法为了达到上述目标,软件工程课程设计需要采取有效的方法和策略。
以下是一些常见的方法:(1)理论教学与实践相结合:通过理论讲解和实践操作相结合的方式,让学生既能够理解软件工程的基本理论知识,又能够运用到实际项目开发中。
(2)个人与团队项目相结合:既要注重培养学生的个人能力,又要锻炼学生的团队合作能力。
可以设置个人项目和团队项目相结合的方式,让学生在个人项目中独立思考和解决问题,在团队项目中学会合作和协调。
(3)模拟实际项目环境:课程设计可以模拟实际的软件项目开发环境,包括需求调研、系统设计、编码实现、测试和部署等环节,使学生能够全面掌握软件工程的各个方面。
4. 实施过程软件工程课程设计的实施过程通常包括以下几个阶段:(1)课程设计选题:根据学生的专业方向和兴趣爱好,确定适合的课程设计选题。
选题的要求应既能够体现软件工程的核心内容,又能够激发学生的学习兴趣和思考能力。
(2)需求分析与系统设计:在确定选题后,学生需要进行需求调研和分析,明确用户需求并设计系统的整体架构和模块功能。
(3)编码实现与测试:在系统设计完成后,学生需要进行编码实现和测试工作。
通过编码实现,学生能够将理论知识应用到实际问题中,并通过测试验证系统的正确性和可靠性。
新生入学管理信息系统配置手册拟制人审核人批准人XX年XX月XX日目录1 VC对运行环境的要求 (1)1.1对硬件环境的要求 (1)1.2对软件环境的要求 (1)2 数据库系统 (3)3 对操作系统的要求 (6)1 VC对运行环境的要求vc对运行环境的要求包括三部分:硬件环境、软件环境和操作系统。
1.1 对硬件环境的要求当前主流计算机的配置完全可以满足VC的开发,较大的内存和CPU有利于提高运行效率。
表1.1列出了硬件要求的最低配置。
表1.1 vc环境硬件要求硬件要求CPU 使用586以上的处理器内存64MB以上硬盘500MB以上其他网卡等互联网设备1.2 对软件环境的要求软件系统开发需要VC程序和Access数据库系统。
VCVC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用c+ +的一个开发平台.有些软件就是这个编出来的...另外还有VB,VF.只是使用不同语言...但是,VC++是Windows平台上的C++编程环境,学习VC要了解很多Windo ws平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大。
W indows下编程需要了解Windows的消息机制以及回调(callback)函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM是代码共享的二进制标准,需要掌握其基本原理等等。
c++的安装作为visual studio的一个组件,可以通过安装visual studio来获得VC作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说VC++不是门语言,虽然它和C++之间有密切的关系,如果形象点比喻的话,可以把C++看作为一种“工业标准”,而VC++则是某种操作系统平台下的“厂商标准”,而“厂商标准”是在遵循“工业标准”的前提下扩展而来的。
姓名学号时间地点实验题目软件开发环境和简单程序设计一.实验目的与要求1. 熟悉WAVE软件使用2. 学习简单程序的调试方法二.实验仪器及主要环境Wave6000三.实验内容及步骤1.启动PC机,打开WAVE软件,软件设置为模拟调试状态。
在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。
2.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四.实验流程框图、实验程序1、ORG 0000HSTART EQU 30HMOV R0,#STARTMOV R2,#10MOV a,#01HLOOP: MOV @R0,AINC R0DJNZ R2,LOOPNOPLJMP $END2、ORG 0020HMOV 0021H,#05HMOV 0022H,#01HMOV 0023H,#02HMOV 0024H,#03HMOV 0025H,#04HMOV R0,#0021HSORT:MOV A,R0MOV R1,AMOV A,R2MOV R5,ACLR F0DEC R5MOV A,@R1 LOOP:MOV R3,AINC R1CLR CMOV A,@R1SUBB A,R3JNC LOOP1SETB F0MOV A,R3XCH A,@R1DEC R1XCH A,@R1INC R1LOOP1:MOV A,@R1DJNZ R5,LOOPJB F0,SORTRET3、DATE EQU 30H N EQU 9 ORG 0000HMOV 30H,#06H MOV 31H,#08H MOV 32H,#05H MOV 33H,#04H MOV 34H,#09H MOV 35H,#03H MOV 36H,#10H MOV 37H,#07H MOV 38H,#01H MOV 39H,#02H XZPX:MOV R0,#DATE MOV R2,#N LOOP:MOV B,@R0MOV A,R0MOV R3,AMOV R1,AMOV A,R2MOV R4,ALOOP1:MOV A,@R1CLR CSUBB A,BJNC LOOP2MOV B,@R1MOV A,R1MOV R3,ALOOP2:INC R1DJNZ R4,LOOP1MOV A,R3MOV R1,AMOV A,@R1XCH A,@R0XCH A,@R1INC R0DJNZ R2,LOOPRET五.实验及程序的分析和讨论1、把30H到3AH至12、加减法运算(1)将立即数#B5H、#36H、#89H分别传送至内部RAM区40H、R2、A中。
研发软件培训课程设计一、课程目标知识目标:1. 学生能够理解软件开发的基本流程和环节,掌握软件需求分析、设计、编码、测试等基本概念。
2. 学生能够掌握至少一种编程语言,如Python、Java等,并运用该语言编写简单的程序。
3. 学生了解软件工程的基本原则,如模块化、抽象化、封装等,并能应用于实际编程中。
技能目标:1. 学生能够运用结构化分析方法进行软件需求分析,独立完成需求规格说明书撰写。
2. 学生能够运用UML图进行软件设计,绘制类图、序列图等,为编程提供清晰的设计思路。
3. 学生能够编写规范的代码,注重代码的可读性和可维护性,并通过调试解决常见编程错误。
情感态度价值观目标:1. 学生培养对软件开发领域的兴趣,认识到软件技术对日常生活的影响,增强学习动力。
2. 学生养成团队协作和沟通的良好习惯,能够与团队成员有效合作,共同解决问题。
3. 学生树立正确的价值观,遵循软件工程伦理,关注用户需求,提高软件质量。
课程性质:本课程为实践性较强的学科,旨在培养学生的编程技能和软件工程素养。
学生特点:学生具备一定的计算机基础,对编程感兴趣,但编程经验和软件工程知识有限。
教学要求:结合学生特点,注重理论与实践相结合,以项目为导向,培养学生的实际操作能力和团队协作能力。
通过分解课程目标为具体的学习成果,为教学设计和评估提供明确依据。
二、教学内容1. 软件开发基本流程:介绍软件开发生命周期,包括需求分析、设计、编码、测试、部署和维护等环节。
- 教材章节:第一章 软件工程概述- 内容列举:软件生命周期、各阶段任务和目标2. 编程语言基础:学习Python或Java等编程语言的基本语法、数据类型、控制结构、函数等。
- 教材章节:第二章 编程语言基础- 内容列举:变量、数据类型、运算符、控制语句、函数定义与调用3. 软件需求分析:运用结构化分析方法,完成需求规格说明书的撰写。
- 教材章节:第三章 软件需求分析- 内容列举:需求获取、需求分析、需求规格说明书编写4. 软件设计:采用UML图进行软件设计,包括类图、序列图等。
信息工程学院<<软件开发集成环境>>课程设计学生姓名:***学号:111111111专业:计算机科学与技术班级: *******任课教师:***《软件开发集成环境》成绩表平日考勤(20分)课程实验、课堂案例(30分)结课设计(50分)总分结课答辩 (20分)结课设计报告(15分)代码设计质量 (15分)工资管理系统 (4)1.概述 (4)1.1. .............................................................................................................. 系统描述41.2. .................................................................................................... 训练的技能点41.3. ....................................................................................................................... 分析52.功能分析 (5)2.1. .............................................................................................................. 界面分析52.2. .............................................................................................................. 数据分析53.实现步骤 (5)3.1. .............................................................................................................. 建立工程63.2. .............................................................................................................. 界面设计63.3. ........................................................................................... 后台数据库的设计123.4. ................................................................................................ 主程序功能实现143.5. .............................................................................................................. 核心代码154.总结 (38)5.参考资料 (39)附录:仿记事本 ........................... 错误!未定义书签。
概述 ................................ 错误!未定义书签。
分析 ................................ 错误!未定义书签。
功能分析.......................... 错误!未定义书签。
界面分析.......................... 错误!未定义书签。
程序分析.......................... 错误!未定义书签。
实现步骤............................. 错误!未定义书签。
建立工程.......................... 错误!未定义书签。
界面设计.......................... 错误!未定义书签。
功能实现.......................... 错误!未定义书签。
核心代码............................. 错误!未定义书签。
工资管理系统1.概述1.1. 系统描述本系统使用C#编程,代码简单易懂,且具备强大的信息处理功能。
此工资管理系统实现了比较完善的员工工资管理功能,其系统依靠包含员工信息、工资等级信息、工资详单信息等三类所需信息的数据库,依靠C#2008软件强大的功能使本系统对数据库中的信息进行管理,本系统主要用于对员工信息、工资等级信息和工资详单信息的添加、修改和删除,此外,该系统也可以根据用户的身份权限来进行不同的相关操作,使得系统更加层次化与实用化。
1.2. 训练的技能点(1)在工资管理系统中各界面的关系上一定要层次结构清楚。
对于非线性的顺序一定要根据程序功能需求进行合理的安排。
(2)设计数据库时要对所需数据进行规划与存储。
(3)实现员工工资管理系统的登录与用户信息查询两大功能时是第一次与所建数据库进行相连一定要多次调试确保万无一失。
(4)实现管理员登录员工工资管理系统后的员工信息管理功能、员工管理系统中员工出勤管理功能的技能、财务人员登录员工工资管理系统后的财务管理中工资等级管理功能;等等都建立在上一技能要求上。
(5)财务管理的部件设计的时候数据繁琐复杂;一定要将数据运用正确。
(6)工资单导出的时候需要一些拓展的知识,注意认真学习与思考。
(7)在程序编写中会遇到一些不可预期的错误一定要广泛查阅资料、学会在互联网上寻求帮助;并且在调试程序的时候一定要认真!1.3. 分析2.功能分析2.1. 界面分析程序主体界面可分为十四部分,各个控件界面的详细布局参见界面分析。
2.2. 数据分析本程序的核心数据是“Salary”,所有的操作都围绕着该数据进行的。
工资等级管理的数据分为三大类:员工信息、工资等级信息、工资详单信息。
由此,在SQL数据库中设计4个表,每个表的结构及数据如下:EmployeeInfo(EmployeeID,EmployeeName,EmployeePwd,EmployeeSex, EmployeeAge, EmployeeDepartment, EmployeeWork, EmployeeWorkAge, SalaryClassName, EmployeePhone, EmployeeAddress, EmployeePostCode);Monthtable(EmployeeID, EmployeeName, WorkDay, Absence, AddHour, SickLeave, CasualLeave, LeaveEarly, Later);SalaryClassInfo(SalaryClassID, SalaryClassName, SalaryMoney, SalaryAgeMoney, SalaryAddWork, SalaryAllCome, HousingFound, MedicalInsurance, EndowmentInsurance, SickLeave, CasualLeave, LeaveEarly, Later);SalaryInfo(EmployeeID, EmployeeName,SClassName, SMoney,SAgeMoney, SalaryAddWork,SAddwork, SAllCome, HousingFound, MedicalInsurance, EndowmentInsurance, SickLeave, LeaveEarly, Later,Salary)实现步骤2.3. 建立工程建立C# Windows窗体应用程序工资管理项目。
2.4. 界面设计设计出窗体布局如图:图1 管理人员登录界面图2管理员主界面图3查询个人信息界面图4修改密码界面图5 个人信息查询界面图6 员工工资详单查询界面图7 员工信息管理初始界面图8 输入相关查询信息后界面图9 员工出勤管理界面图10 财务人员登录界面图11 财务管理主界面图12 工资等级管理界面图13 计算工资界面图14 计算企业当月工资总额界面图15 生成工资单界面图16 单击导出工资单按钮后界面图17 实现员工出勤管理功能。
2.5. 后台数据库的设计根据程序分析部分,设计出后台数据库如下图所示:图1 SalaryInfo表结构图2 SalaryClassID表结构图3 Monthtable1表结构图4 EmployeeID表结构图8 SalaryClassID表内容图9 EmployeeID表内容图10 SalaryClassID表内容图12 Monthtable1表内容2.6. 主程序功能实现经多次调试主程序运行正常!2.7. 核心代码A.采用Visual C#创建工资管理系统的操作登陆界面;并且将工资管理系统中各界面的关系首先在form1里体现出来。
源程序如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace员工管理系统{public partial class Form1 : Form{public Form1(){InitializeComponent();}public SqlConnection connection = new SqlConnection();public SqlDataAdapter adapter = new SqlDataAdapter();public DataSet ds = new DataSet();string ConnStr = "server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;Integrated security=SSPI";private void button1_Click(object sender, EventArgs e){try{connection.ConnectionString = ConnStr;string str1 = textBox1.Text.Trim();string str2 = textBox2.Text.Trim();string str3 = comboBox1.Text.Trim();string sqlStr = "select * from EmployeeInfo where EmployeeID='" + str1 + "'and EmployeePwd='" + str2 + "'";adapter = new SqlDataAdapter(sqlStr, connection);ds.Clear();adapter.Fill(ds);if (ds.Tables[0].Rows.Count > 0){erInfo[0] = ds.Tables[0].Rows[0].ItemArray[0].ToString();erInfo[1] = ds.Tables[0].Rows[0].ItemArray[1].ToString();erInfo[2] = ds.Tables[0].Rows[0].ItemArray[2].ToString();erInfo[3] = ds.Tables[0].Rows[0].ItemArray[3].ToString();erInfo[4] = ds.Tables[0].Rows[0].ItemArray[4].ToString();erInfo[5] = ds.Tables[0].Rows[0].ItemArray[5].ToString();erInfo[6] = ds.Tables[0].Rows[0].ItemArray[6].ToString();erInfo[7] = ds.Tables[0].Rows[0].ItemArray[7].ToString();erInfo[8] = ds.Tables[0].Rows[0].ItemArray[8].ToString();erInfo[9] = ds.Tables[0].Rows[0].ItemArray[9].ToString();erInfo[10] = ds.Tables[0].Rows[0].ItemArray[10].ToString();erInfo[11] = ds.Tables[0].Rows[0].ItemArray[11].ToString();if (ds.Tables[0].Rows[0].ItemArray[5].ToString().Trim() == "管理部" && str3 == "管理部"){Form2 form2 = new Form2();this.Hide();form2.Show();}else if ((ds.Tables[0].Rows[0].ItemArray[0].ToString().Trim() != "管理部" && ds.Tables[0].Rows[0].ItemArray[5].ToString().Trim() != "财务部") && str3 == "其他") {Form3 form3 = new Form3();this.Hide();form3.Show();}else if (ds.Tables[0].Rows[0].ItemArray[5].ToString().Trim() == "财务部" && str3 == "财务部"){Form9 form9 = new Form9();this.Hide();form9.Show();}}else{MessageBox.Show("没有找到所对应的员工信息,输入的工号或者密码错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}catch (Exception ex){MessageBox.Show(ex.Message);}}private void button2_Click(object sender, EventArgs e) {Application.Exit();}private void textBox1_KeyDown(object sender, KeyEventArgs e) {if (e.KeyCode == Keys.Enter)textBox2.Focus();}private void textBox2_KeyDown(object sender, KeyEventArgs e) {if (e.KeyCode == Keys.Enter)comboBox1.Focus();}private void comboBox1_KeyDown(object sender, KeyEventArgs e) {if (e.KeyCode == Keys.Enter)button1_Click(sender, e);}}}B.企业中的各个部门的员工登陆后都可以进行个人信息查看:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace员工管理系统{public partial class Form5 : Form{public Form5(){InitializeComponent();}private void Form5_Load(object sender, EventArgs e){textBox1.Text = erInfo[0];textBox2.Text = erInfo[1];textBox3.Text = erInfo[4];textBox4.Text = erInfo[5];textBox5.Text = erInfo[6];textBox6.Text = erInfo[8];textBox7.Text = erInfo[10];textBox8.Text = erInfo[11];textBox9.Text = erInfo[7];if (erInfo[3].Trim() == "男"){radioButton1.Checked = true;}else{radioButton2.Checked = true;}textBox1.ReadOnly = true;textBox2.ReadOnly = true;textBox3.ReadOnly = true;textBox4.ReadOnly = true;textBox5.ReadOnly = true;textBox6.ReadOnly = true;textBox7.ReadOnly = true;textBox8.ReadOnly = true;textBox9.ReadOnly = true;}private void button1_Click(object sender, EventArgs e){Form3 form3 = new Form3();this.Hide();form3.Show();}private void button2_Click(object sender, EventArgs e){Application.Exit();}}}C.如果各个用户需要修改密码则需要一定的条件:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace员工管理系统{public partial class Form4 : Form{public Form4(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){try{string id, psw;id = textBox1.Text.Trim();psw = textBox2.Text.Trim();string conn = "server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;Integrated security=SSPI";SqlConnection connection = new SqlConnection(conn);string sql = "select * from EmployeeInfo where EmployeeID='" + id + "'andEmployeePwd='" + psw + "'";connection.Open();SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);DataSet ds = new DataSet();adapter.Fill(ds);if (ds.Tables[0].Rows[0].ItemArray.ToString() != ""){string psw1, psw2;psw1 = textBox3.Text.Trim();psw2 = textBox4.Text.Trim();if (psw1 == psw2){string sql1 = "update EmployeeInfo set EmployeePwd='" + psw2 + "'where EmployeeID='" + id + "'";SqlCommand comm = new SqlCommand(sql1, connection);mandType = CommandType.Text;comm.ExecuteNonQuery();MessageBox.Show("密码修改成功!");}else{MessageBox.Show("两次密码输入不同,请重新输入!");textBox3.Text = "";textBox4.Text = "";textBox3.Focus();}}else{MessageBox.Show("查无此人!请退出,确认以后再进行相关操作......"); button2_Click(sender, e);}}catch (Exception ex){MessageBox.Show(ex.Message);}}private void button2_Click(object sender, EventArgs e){this.Hide();}private void textBox1_KeyDown(object sender, KeyEventArgs e) {if (e.KeyCode == Keys.Enter)textBox2.Focus();}private void textBox2_KeyDown(object sender, KeyEventArgs e) {if (e.KeyCode == Keys.Enter)textBox3.Focus();}private void textBox3_KeyDown(object sender, KeyEventArgs e) {if (e.KeyCode == Keys.Enter)textBox4.Focus();}private void textBox4_KeyDown(object sender, KeyEventArgs e) {if (e.KeyCode == Keys.Enter)button1_Click(sender, e);}}}D.员工可以查看自己的工资详单:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace员工管理系统{public partial class Form6 : Form{public Form6(){InitializeComponent();}private void Form6_Load(object sender, EventArgs e){try{SqlConnection connection = new SqlConnection("server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;integrated security=SSPI");connection.Open();string sql = "select * from SalaryInfo where EmployeeID='"+ erInfo[0] + "'";SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);DataSet ds = new DataSet();adapter.Fill(ds);textBox1.Text = ds.Tables[0].Rows[0][0].ToString();textBox2.Text = ds.Tables[0].Rows[0][1].ToString();textBox3.Text = ds.Tables[0].Rows[0][3].ToString();textBox4.Text = ds.Tables[0].Rows[0][4].ToString();textBox5.Text = ds.Tables[0].Rows[0][5].ToString();textBox6.Text = ds.Tables[0].Rows[0][6].ToString();textBox7.Text = ds.Tables[0].Rows[0][7].ToString();textBox8.Text = ds.Tables[0].Rows[0][8].ToString();textBox9.Text = ds.Tables[0].Rows[0][9].ToString();textBox10.Text = ds.Tables[0].Rows[0][10].ToString();textBox11.Text = ds.Tables[0].Rows[0][11].ToString();textBox12.Text = ds.Tables[0].Rows[0][12].ToString();textBox13.Text = ds.Tables[0].Rows[0][13].ToString();textBox1.ReadOnly = true;textBox2.ReadOnly = true;textBox3.ReadOnly = true;textBox4.ReadOnly = true;textBox5.ReadOnly = true;textBox6.ReadOnly = true;textBox7.ReadOnly = true;textBox8.ReadOnly = true;textBox9.ReadOnly = true;textBox10.ReadOnly = true;textBox11.ReadOnly = true;textBox12.ReadOnly = true;textBox13.ReadOnly = true;}catch (Exception ex){MessageBox.Show(ex.Message);}}private void button1_Click(object sender, EventArgs e){Form3 form3 = new Form3();this.Hide();form3.Show();}}}E.如果登陆的是管理员则可以对员工的出勤和信息进行管理:private void button1_Click(object sender, EventArgs e){try{SqlConnection connection = new SqlConnection("server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;integrated security=SSPI");connection.Open();string str1, str2;string sql = "";str1 = comboBox1.Text.Trim();str2 = textBox1.Text.Trim();if (str1 != "" && str2 != ""){if (str1 == "员工工号")sql = "select * from Monthtable where EmployeeID='" + str2 + "'";else if (str1 == "员工姓名")sql = "select * from Monthtable where EmployeeName='"+ str2 + "'";else if (str1 == "出勤天数")sql = "select * from Monthtable where WorkDay='" + str2 + "'";}else{MessageBox.Show("请选择查询条件!");}SqlDataAdapter adapter = new SqlDataAdapter();adapter = new SqlDataAdapter(sql, connection);DataSet ds = new DataSet();adapter.Fill(ds);if (ds.Tables[0].Rows.Count > 0){dataGridView1.DataSource = ds.Tables[0];SetHeaderText();}else{MessageBox.Show("找不到符合条件的记录!");}}catch (Exception ex){MessageBox.Show(ex.Message);}}private void button2_Click(object sender, EventArgs e){int n = this.dataGridView1.CurrentCell.RowIndex;string str1, str2;str1 = this.dataGridView1[0, n].Value.ToString();str2 = this.dataGridView1[1, n].Value.ToString();PC.attend[2] = Convert.ToDecimal(this.dataGridView1[2, n].Value);PC.attend[3] = Convert.ToDecimal(this.dataGridView1[3, n].Value);PC.attend[4] = Convert.ToDecimal(this.dataGridView1[4, n].Value);PC.attend[5] = Convert.ToDecimal(this.dataGridView1[5, n].Value);PC.attend[6] = Convert.ToDecimal(this.dataGridView1[6, n].Value);PC.attend[7] = Convert.ToDecimal(this.dataGridView1[7, n].Value);PC.attend[8] = Convert.ToDecimal(this.dataGridView1[8, n].Value);string sql = "update Monthtable set WorkDay='" + PC.attend[2] + "',absence='" +PC.attend[3] + "',AddHour='"+ PC.attend[4] + "',SickLeave='"+ PC.attend[5] +"',CasualLeave='" + PC.attend[6] + "',LeaveEarly='" + PC.attend[7] +"',Later='" + PC.attend[8] + "'where EmployeeID='" + str1 + "'";SqlConnection connection = new SqlConnection("server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;integrated security=SSPI");connection.Open();try{SqlCommand cmd = new SqlCommand(sql, connection);mandType = CommandType.Text;cmd.ExecuteNonQuery();MessageBox.Show("修改成功!");}catch (Exception ex){MessageBox.Show(ex.Message);}finally{connection.Close();}}private void button3_Click(object sender, EventArgs e){try{int n = this.dataGridView1.CurrentCell.RowIndex;string str = this.dataGridView1[0, n].Value.ToString();SqlConnection connection = new SqlConnection("server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;integrated security=SSPI");connection.Open();string sql = "delete from Monthtable where EmployeeID='" + str + "'";SqlCommand comm = new SqlCommand(sql, connection);if (MessageBox.Show("确定要删除该员工的出勤记录吗?", "删除信息", MessageBoxButtons.OKCancel,MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK){comm.ExecuteNonQuery();MessageBox.Show("成功删除!");}}catch (Exception ex){MessageBox.Show(ex.Message);}}void SetHeaderText(){dataGridView1.Columns[0].HeaderText = "员工工号";dataGridView1.Columns[1].HeaderText = "员工姓名";dataGridView1.Columns[2].HeaderText = "员工密码";dataGridView1.Columns[3].HeaderText = "员工性别";dataGridView1.Columns[4].HeaderText = "员工年龄";dataGridView1.Columns[5].HeaderText = "部门";dataGridView1.Columns[6].HeaderText = "工作";dataGridView1.Columns[7].HeaderText = "员工工龄";dataGridView1.Columns[8].HeaderText = "工资等级";dataGridView1.Columns[9].HeaderText = "联系电话";dataGridView1.Columns[10].HeaderText = "联系地址";dataGridView1.Columns[11].HeaderText = "邮政编码";}private void button1_Click(object sender, EventArgs e){try{connection.ConnectionString = ConnStr;string str1, str2;string sqlStr = "";str1 = comboBox1.Text.Trim();str2 = textBox1.Text.Trim();if (str1 != "" && str2 != ""){if (str1 == "员工编号")sqlStr = "select * from EmployeeInfo where EmployeeID='" + str2 + "'";else if (str1 == "员工职位")sqlStr = "select * from EmployeeInfo where EmployeeWork='" + str2 + "'";else if (str1 == "员工姓名")sqlStr = "select * from EmployeeInfo where EmployeeName='" + str2 + "'";else if (str1 == "部门")sqlStr = "select * from EmployeeInfo where EmployeeDepartment='" + str2 + "'";}else{MessageBox.Show("请选择查询条件!");}adapter = new SqlDataAdapter(sqlStr, connection);adapter.Fill(ds);if (ds.Tables[0].Rows.Count > 0){dataGridView1.DataSource = ds.Tables[0];SetHeaderText();}else{MessageBox.Show("找不到符合条件的记录!");}}catch (Exception ex){MessageBox.Show(ex.Message);}}private void button2_Click(object sender, EventArgs e){button5.Text = "修改";dataGridView1_RowHeaderMouseClick(null, null);string sql = "uadate EmployeeInfo set EmployeeName='"+ PC.addUser[1] + "',EmployeePwd'" +PC.addUser[2] + "',EmployeeSex='"+ PC.addUser[3] + "',EmployeeAge='"+ PC.addUser[4] +"',EmployeeDepartment='" + PC.addUser[5] + "',EmployeeWork='" + PC.addUser[6] + "',EmployeeWorkAge='" +PC.addUser[7] + "',SalaryClassName='" + PC.addUser[8] + "',EmployeePhone='" + PC.addUser[9] +"',EmployeeAddress='" + PC.addUser[10] + "',EmployeePostCode='" + PC.addUser[11] +"'where EmployeeID='" + PC.addUser[0] + "'";SqlConnection sqlCon = new SqlConnection(ConnStr);SqlConnection connection = new SqlConnection();connection.ConnectionString = ConnStr;try{SqlCommand cmd = new SqlCommand(sql, sqlCon);cmd.ExecuteNonQuery();MessageBox.Show("修改成功!");string str1, str2;string sqlStr = "";str1 = comboBox1.Text.Trim();str2 = textBox1.Text.Trim();if (str1 != "" && str2 != ""){if (str1 == "员工编号")sqlStr = "select * from EmployeeInfo where EmployeeID='" + str2 + "'";else if (str1 == "员工职位")sqlStr = "select * from EmployeeInfo where EmployeeWork='" + str2 + "'";else if (str1 == "员工姓名")sqlStr = "select * from EmployeeInfo where EmployeeName='" + str2 + "'";else if (str1 == "部门")sqlStr = "select * from EmployeeInfo where EmployeeDepartment='" + str2 + "'";}else{MessageBox.Show("请选择查询条件!");}ds.Clear();dataGridView1.DataSource = ds.Tables[0];SetHeaderText();adapter = new SqlDataAdapter(sqlStr, connection);adapter.Fill(ds);if (ds.Tables[0].Rows.Count > 0){dataGridView1.DataSource = ds;SetHeaderText();}}catch (Exception ex){MessageBox.Show(ex.Message);}sqlCon.Close();}private void button3_Click(object sender, EventArgs e){dataGridView1_RowHeaderMouseClick(null, null);try{SqlConnection connection = new SqlConnection();connection.ConnectionString = ConnStr;string str = "delete from EmployeeInfo where EmployeeID='" + PC.addUser[0] + "'";SqlCommand cmd = new SqlCommand(str, connection);mandType = CommandType.Text;connection.Open();cmd.ExecuteNonQuery();str = "select * from EmployeeInfo where EmployeeID='" + PC.addUser[0] + "'";adapter = new SqlDataAdapter(str, connection);DataSet ds1 = new DataSet();adapter.Fill(ds1);dataGridView1.DataSource = ds1.Tables[0];SetHeaderText();MessageBox.Show("成功删除!");string str1, str2;string sqlStr = "";str1 = comboBox1.Text.Trim();str2 = textBox1.Text.Trim();if (str1 != "" && str2 != ""){if (str1 == "员工编号")sqlStr = "select * from EmployeeInfo where EmployeeID='" + str2 + "'";else if (str1 == "员工职位")sqlStr = "select * from EmployeeInfo where EmployeeWork='" + str2 + "'";else if (str1 == "员工姓名")sqlStr = "select * from EmployeeInfo where EmployeeName='" + str2 + "'";else if (str1 == "部门")sqlStr = "select * from EmployeeInfo where EmployeeDepartment='" + str2 + "'";}ds.Clear();dataGridView1.DataSource = ds.Tables[0];SetHeaderText();adapter = new SqlDataAdapter(sqlStr, connection);adapter.Fill(ds);if (ds.Tables[0].Rows.Count > 0){dataGridView1.DataSource = ds.Tables[0];SetHeaderText();}}catch (Exception ex){MessageBox.Show(ex.Message);}}private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e){int n = this.dataGridView1.CurrentCell.RowIndex;PC.addUser[0] = this.dataGridView1[0, n].Value.ToString();PC.addUser[1] = this.dataGridView1[1, n].Value.ToString();PC.addUser[2] = this.dataGridView1[2, n].Value.ToString();PC.addUser[3] = this.dataGridView1[3, n].Value.ToString();PC.addUser[4] = this.dataGridView1[4, n].Value.ToString();PC.addUser[5] = this.dataGridView1[5, n].Value.ToString();PC.addUser[6] = this.dataGridView1[6, n].Value.ToString();PC.addUser[7] = this.dataGridView1[7, n].Value.ToString();PC.addUser[8] = this.dataGridView1[8, n].Value.ToString();PC.addUser[9] = this.dataGridView1[9, n].Value.ToString();PC.addUser[10] = this.dataGridView1[10, n].Value.ToString();PC.addUser[11] = this.dataGridView1[11, n].Value.ToString();}F.如果是财政人员登录的则可以进行工资工资等级管理和计算各种工资并且可以生成一张工资报表:(a 工资等级管理:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace员工管理系统{public partial class Form10 : Form{public Form10(){InitializeComponent();}void alterColumn(){dataGridView1.Columns[0].HeaderText="类别编号";dataGridView1.Columns[1].HeaderText="类别名称";dataGridView1.Columns[2].HeaderText="级别工资";dataGridView1.Columns[3].HeaderText="工龄工资(每年)";dataGridView1.Columns[4].HeaderText="加班工资(每小时)";dataGridView1.Columns[5].HeaderText="全勤奖";dataGridView1.Columns[6].HeaderText="住房公积金";dataGridView1.Columns[7].HeaderText="医疗保险";dataGridView1.Columns[8].HeaderText="养老保险";dataGridView1.Columns[9].HeaderText="病假(每天扣除)";dataGridView1.Columns[10].HeaderText="事假";dataGridView1.Columns[11].HeaderText="早退";dataGridView1.Columns[12].HeaderText="迟到";private void button1_Click(object sender, EventArgs e){int n = this.dataGridView1.CurrentCell.RowIndex;PC.salaryclass[0] = this.dataGridView1[0, n].Value.ToString();PC.salaryclass[1] = this.dataGridView1[1, n].Value.ToString();PC.salaryclass1[2] = Convert.ToDecimal(this.dataGridView1[2, n].Value);PC.salaryclass1[3] = Convert.ToDecimal(this.dataGridView1[3, n].Value);PC.salaryclass1[4] = Convert.ToDecimal(this.dataGridView1[4, n].Value);PC.salaryclass1[5] = Convert.ToDecimal(this.dataGridView1[5, n].Value);PC.salaryclass1[6] = Convert.ToDecimal(this.dataGridView1[6, n].Value);PC.salaryclass1[7] = Convert.ToDecimal(this.dataGridView1[7, n].Value);PC.salaryclass1[8] = Convert.ToDecimal(this.dataGridView1[8, n].Value);PC.salaryclass1[9] = Convert.ToDecimal(this.dataGridView1[9, n].Value);PC.salaryclass1[10] = Convert.ToDecimal(this.dataGridView1[10,n].Value);PC.salaryclass1[11] = Convert.ToDecimal(this.dataGridView1[11,n].Value);PC.salaryclass1[12] = Convert.ToDecimal(this.dataGridView1[12,n].Value);try{SqlConnection connection = new SqlConnection("server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;integrated security=SSPI");connection.Open();string sql = "insert into SalaryClassInfo values('"+ PC.salaryclass[0] + "','" +PC.salaryclass[1] + "','" + PC.salaryclass1[2] + "','" +PC.salaryclass1[3] +"','" + PC.salaryclass1[4] + "','" + PC.salaryclass1[5] + "','" + PC.salaryclass1[6] +"','" + PC.salaryclass1[7] + "','" + PC.salaryclass1[8] + "','" + PC.salaryclass1[9] +"','"+ PC.salaryclass1[10] + "','"+ PC.salaryclass1[11] + "','" + PC.salaryclass1[12] + "')";SqlCommand comm = new SqlCommand(sql, connection);comm.ExecuteNonQuery();MessageBox.Show("添加成功!");}catch (Exception ex){MessageBox.Show(ex.Message);}private void button2_Click(object sender, EventArgs e){try{SqlConnection connection = new SqlConnection("server=杨玉锋-PC\\SQLEXPRESS;database=DataBase;integrated security=SSPI");connection.Open();int n = this.dataGridView1.CurrentCell.RowIndex;PC.salaryclass[0] = this.dataGridView1[0, n].Value.ToString();PC.salaryclass[1] = this.dataGridView1[1, n].Value.ToString();PC.salaryclass1[2] = Convert.ToDecimal(this.dataGridView1[2,n].Value);PC.salaryclass1[3] = Convert.ToDecimal(this.dataGridView1[3,n].Value);PC.salaryclass1[4] = Convert.ToDecimal(this.dataGridView1[4,n].Value);PC.salaryclass1[5] = Convert.ToDecimal(this.dataGridView1[5,n].Value);PC.salaryclass1[6] = Convert.ToDecimal(this.dataGridView1[6,n].Value);PC.salaryclass1[7] = Convert.ToDecimal(this.dataGridView1[7,n].Value);PC.salaryclass1[8] = Convert.ToDecimal(this.dataGridView1[8,n].Value);PC.salaryclass1[9] = Convert.ToDecimal(this.dataGridView1[9,n].Value);PC.salaryclass1[10] = Convert.ToDecimal(this.dataGridView1[10, n].Value);PC.salaryclass1[11] = Convert.ToDecimal(this.dataGridView1[11, n].Value);PC.salaryclass1[12] = Convert.ToDecimal(this.dataGridView1[12, n].Value);string sql = "update SalaryClassInfo set SalaryClassName='" + PC.salaryclass[1] + "',SalaryMoney='" + PC.salaryclass[2] +"',SalaryAgeMoney='" + PC.salaryclass1[3] + "',SalaryAddWork='" + PC.salaryclass1[4] + "',SalaryAllCome='" +PC.salaryclass1[5] + "',HousingFound='" + PC.salaryclass1[6] + "',MedicalInsurance='" + PC.salaryclass1[7] +"',EndowmentInsurance='" + PC.salaryclass1[8] + "',SickLeave='" + PC.salaryclass1[9] + "',CasualLeave='" +PC.salaryclass1[10] + "',LeaveEarly='" + PC.salaryclass1[11] + "',Later='" + PC.salaryclass1[12] +。