C#实训日志8[精选5篇]

时间:2019-05-12 11:48:07下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C#实训日志8》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C#实训日志8》。

第一篇:C#实训日志8

1月2日(星期四):

(一)继续完成“学生信息管理”窗体的界面设计:

由于我们在学生表中有密码项,为了符合大众软件的习惯,也为用户的信息安全性着想,所以我们将密码输入文本框的“PasswordCard”属性设置为“*”,设置此属性后,当用户在输入密码文本的时候,文本信息不会显示在密码文本框中,输入的值将以“*”的形式展现出来。

(二)“学生信息管理”界面层其他方面设计:

在设计中我们在加入新的学生信息的时候我们为输入的密码设计了密码验证功能 if(txtStuPassword.Text.Equals(txtVPassword.Text)== true){ stu.Password = txtStuPassword.Text;}else{ MessageBox.Show(“两次密码输入不一致,请确认!”);return;}

使用“Equals”判断,如果输入的密码与输入在验证密码中的字符一致,则将密码赋值给数据库,否则提示“两次密码输入不一致,请确认!”这项功能的判断是为了使用户如果偶然输入错误密码,系统可以自动判断识别,提示用户,进行重新输入。

(三)“学生信息管理”“Entity”设计:

因为是C/S结构设计,所以我们新建了两个类库,只需单击“文件”——选择“新建”——选中“项目”,然后在“模版”模块下选择“类库”,这里需要注意的是我们不再是“创建新解决方案”而是选择“添入解决方案”将新建的类库加入已经创建的“StudentsApp”项目中。我们新建了“Entity”实体层和“DAL”数据访问层,其中实体层负责承载数据。

(四)“学生信息管理”“DAL”设计

在此层中我们分别实现与数据库连接的的各项功能。

如根据班级编号查询学生信息的方法中,首先我们需要实例化一个SQL数据库连接,然后实例化一个SQL命令,还需要实例化一个数据读取器。然后我们为各个对象赋值,以达到连接数据库,并对其下达命令的功能。在打开数据库连接后,我们读取一个数据库中的数据,并赋值给之前实例化的数据读取器。然后使用“while”循环语句判断数据库中的数据是否已经读取完毕,如果“dr.Read()”中没有数据,则结束此循环。最后用“return”语句将表单返回。

其他功能与数据库的连接与查询的代码相似,存在区别是使用了“ExecuteNonQuery()”语句,通过返回受影响行数来判断是否添加或删除成功。

在此,我们需要用“try-catch”判断数据是否提取成功。如果不成功,我们需要提示用户异常原因,我们需要将异常抛出,返回到界面层,由于操作层无法显示异常,所以我们要“new”一个异常,把异常原因放入此对象中,再将此对象抛出。

为了防止有人恶意篡改代码,在输入的文本中添加恶意代码,防止注入攻击,我们使用SQL参数,以保证安全。

在此我们着重实现了登录的功能,在“LoginByStudentIDAndPassword”方法中,我们使用“string sql = “select StudentID,Password from Students where StudentID = @StudentID and Password = @Password ”;”语句判断是否存在一条数据的登录名和登录密码与输入的登录名和登录密码一致。使用“ExecuteScalar()”语句,如果返回查询所返回的结果集中的第一行的第一列不为空,则返回“真”否则返回“假”。

第二篇:C#实训日志1

12月23日(星期一):

(一)在今天我们学习了如何创建Windows应用程序:

单击“文件”——选择“新建”——选择“项目”——选择“Windows应用程序”,在此界面中可以设置项目名称、存储位置等,然后单击“添加”,项目新建成功。

创建Windows应用程序后会自动生成一个名为Form1的窗体,一般情况下我们将它删除,自行新建新窗体。

(二)然后我们学习了如何在已经创建好的项目中创建窗体:

右键单击项目——单击“添加”——选择“新建项”——在此窗口中选择“Windows”窗体,添加的默认名字为Form2,Form3等,我们最好将名称改为“数据库表名+Form”方便记忆,然后单击“添加”,窗体新建成功。

实践后我们了解到在一个项目中我们可以创建多个窗体,如果想运行哪个窗体,则需要总在该项目的“Program.cs”文件中,将“Application.Run(new MainForm());”中的“MainForm()”改成对应的窗体名称。

(三)我们在了解了项目需求后实现了父窗体以及子窗体的设定:

由于我们需要建立的是一个有菜单,有多项功能,能打开多个窗体的项目,所以我们需要一个主窗体,以及多个下属功能窗体,也就是一个父窗体,以及多个子窗体。

我们需要一个窗体作为容器成为基类或父窗体,另一个窗体作为模板,也叫子窗体。在父窗体中可以打开多个文档,每个文档都是由一个单独的子窗体显示,所有的子窗体都是类似的,可以使用窗体的模板来创建,从类的角度来看所有的子窗体都是一个类的不同实例。创建父窗体的方法非常简单,即为将想要设定的窗体的“IsMdiContainer”属性值设为“True”,此时窗体的背景变为灰色,该窗体就变为父窗体。然后就可以在此窗体中添加菜单从而实现调用其他窗体的功能。

(四)我们在创建好窗体后熟悉了环境中的几项比较重要的工具窗口:

在创建好窗体之后我们开始在子窗体中进行界面设计,首先是熟悉环境的属性界面,在软件右侧有两个工具栏,分别是“解决方案资源管理器”和“属性”窗口。

这两项窗口都可以在视图中找到后调出。在“解决方案资源管理器”中我们可以查看当前打开的项目的文件,双击即可打开对应文件。在“属性”中我们可以查看选中的窗体或者选中的各个控件的各项属性值,同时可以对各项属性进行调整。我们可以在“属性”栏中将属性名按照字母顺序排序以方便查找,我们还可以查找对应事件并进行修改。

而在界面左侧则有一个“工具箱”,在工具箱中我们可以找到几乎所有我们所需要的控件、容器、工具栏等。只要单击工具箱中需要的控件,再单击窗体就可以添加控件成功。我们也可以用容器中控件来规划窗体,如我们可以使用“SplitContainer”空间来将窗体分割成两部分,在两部分中分别添加其他空间,进行不同的内容的添加。

(五)在今天下午的课程中我们学习了如何调整窗体的各项基本属性:

首先我们学习了如何为窗体的标题栏修改文字内容,在属性窗口中,我们找到“Text”属性,然后输入想显示的内容,如我们首先设计了工作信息窗体,所以在“Text”属性右侧框中输入“工作信息管理”字样。

然后我们了解了确定窗体的初赛可视状态属性,在属性栏中找到“WindowsState”属性,在此我们可以选择“Minimized”也就是打开时最小化显示,“Maximized”打开时最大化显示以及“Normal”标准话显示。

第三篇:C#实训日志7

12月31日(星期二):

(一)项目总结:

在之前的项目设计中,我们发现,虽然可以实现各个功能,但是对于某些细微的要求想要实现就很困难,比如在输入密码时要区分大小写等等细节功能的实现反而非常复杂。所以在设计下一个系统的时候,老师准备教我们使用另一种设计方法设计下一个“学生信息管理系统”。

(二)设计方式:

在“学生信息管理系统”的设计中,我们采用C/S的设计方法设计,设计分为界面层和数据访问层,界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据,并传给数据访问层。数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如“Oracle”、“Sybase”、“MS SQl Server”等。

C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。

Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。

(三)主窗体界面设计:

主窗体的总体设计与“雇员管理系统”的主窗体大概一致,只是将菜单名改变,同样有“快捷键”、“窗口”、等功能,也同样是将主窗体设置成为一个父窗体。

(四)关于界面设计:

值得一提的是,在帮助菜单下拉列表中我们添加了“关于”功能,这项功能可以实现显示此程序的版本号、设计人员名称、LOGO、设计日期等相关信息。

具体的设计方法与普通窗体设计略有不同,在“Microsoft Visual Studio”软件中,系统为我们提供了已经设计好的“关于”窗体,只要右键单击项目名——点击“添加”——选择“新建项”——选中“‘关于’框”就可以自动生成“关于”界面。只需要适当的修改图标、文本框内容等属性即可。

(五)“学生信息管理”界面设计:

我们在设计完主窗体后,就开始对“学生信息管理”进行基本的设计,也就是界面层的设计。

在这里我们基本使用的都是与之前的“工作信息管理”基本一致的界面,所以设计基本界面的时候十分的方便,只要打开之前的“工作信息管理”然后进行简单的改名等操作即可完成。在这里我们深深的发现有得时候如果懂得利用以前的资源,就可以节省很多时间,减少编写代码的量。

在这个界面上与之前稍有不同的地方是添加了性别。性别录入使用了“RadioButton”控件。这个控件的具体使用方法是当与其他单选按钮成对出现时,允许用户从一组选项中选择单个选项,其中“一组”的意思是,所有在同一容器内的这个控件,都称为一组,也就是只能选择其中一项,因为人的性别只能是男性或女性其中一种,所以选择了“RadioButton”单选按钮控件。

第四篇:C#实训日志3

12月25日(星期三):

(一)今天首先实现了“修改”按钮的功能:

在实现“修改”功能之前,首先我们需要做的是将右侧的数据显示到左侧的文本框中,然后我们才能方便进行修改和删除。我们希望做到的效果是在双击右侧数据条头部时,可以将数据提取出来然后显示在左侧,所以我们创建了一个“dgvJobs_RowHeaderMouseDoubleClick”事件,提取了数据库中的数据。

然后我们通过定义局部变量来判断想要修改成的工作编号格式是否符合要求,用“if”语句判断是否有此工作编号,然后实现了修改功能。

(二)在测试中出现了一个问题:

在我准备执行时出现了“sa登录失败”的错误,我在“JobsForm_Load”事件中添加了“this.jobsTableAdapter.Connection.ConnectionString = “ server =.;user = sa;password = 123456;database = pubs”;”语句后就解决了问题,其他同学也有遇到这个问题的,他们提供了另一种方法给我参考,就是重新绑定数据源,在登录数据库时使用“Windows验证”登录。

(三)然后我们实现了“删除”功能:

删除功能和修改功能类似,很多代码可以公用,只需要简单的复制粘贴,然后在修改一些值就可以直接使用,在此我也了解到有得时候编程序不需要一行一行的重复编写,有的时候只要你记住以前自己编写过的代码,并理解其中的道理就可以直接使用。在这里我们就用来同样的代码对工作编号的格式和是否存在该工作编号进行了判断,如果判断后没有异常则删除。

(四)实现“保存”功能:

在实现了基本的增删改功能之后,我们经过测试基本没有错误,但是此处的功能实现只是局限于左侧文本框与右侧数据显示区的交互,并没有真正的实现于数据库中,所以每次我们执行完操作以后,一旦关闭了窗体,再次运行窗体时,之前添加或修改的数据并没有显示出来。所以

我们需要完成一个保存功能,来将修改的结果同步到数据库中。我们编写了“btnSave_Click”事件来实现保存功能。定义变量“count”来计数,实现更新数据库中数据。

在这个地方老师又特殊强调了一个“pubsDataSet.RejectChanges();”,也就是回滚功能,这个语句在判断是否保存成功的语句中实现。我们进行的设计是,如果保存成功,显示“保存成功”,并显示受影响的记录的条数,条数的计数就是通过“count”来实现的。如果保存不成功,我们会将右侧数据还原到点击“添加”或“修改”按钮之前的状态,以方便用户重新操作。

(五)实现“查找”和“取消查找”功能:

查找功能我们使用“jobsBindingSource.Filter”语句实现,“Filter”用于获取或设置用于筛选查看哪些行的表达式。我们使用SQL语句进行模糊查询。

取消查询的功能实现起来也很简单,只需要将查询文本框中的文本内容清空,然后将“jobsBindingSource.Filter”也清空即可。

第五篇:C#实训日志9

1月3日(星期五):

(一)继续实现“StudentForm”的代码:

今天我们在完成了实体层和数据访问层的代码编写后,继续编写界面层的代码,来事实现各个按钮的单击事件。为了连接各个层,所以要调用“Entity”和“DAL”类库,使用“using”语句。

首先我们设计了一个“DataBind”方法,用来刷新数据绑定。有了这段代码后,就不需要再使用保存按钮了,当执行某些操作后只要执行这段代码就可以更新数据绑定。

然后我们依旧是先定义了一个“双击表头事件”,使用“StudentID”定位列,调用“SelectAllStudentByStudentID”来查找对应的数据,如果存在,则将查找到的数据提取到文本框中。在这里需要特殊注意的是我们判断性别是男性还是女性的方法是使用“if-else”语句,判断是否为男性,如果是,则执行“rbtnMale.Checked = true;”语句,控件“rbtnMale”被选中,否则则为女性,控件“rbtnFemale”被选中。

(二)在基本设计完成后,我们又设计了其他子窗体:

在完成老师教的“学生信息管理”窗体后,我们又分别完成了“班级信息管理”、“课程信息管理”、“成绩信息管理”等子窗体。其中在设计“成绩信息管理”子窗体时老师特殊强调成绩是不可以修改的,日志是不可以修改个添加的,这是一个正常的程序应该有的功能。我们有根据之前讲的“雇员信息管理系统”对“学生信息管理系统”进行了简单的完善。比如最小化图标,右键点击出现菜单,各个子窗体的水平、垂直、层阶显示功能以及登录注销等功能。

(三)最后我们进行了答辩和总结实训感受:

今天是实训的最后一天,在今天,老师找了几名同学进行了答辩,并对答辩的PPT、内容等方面做了评价和指导。

老师提出,实训的PPT不应该千篇一律,应该每个人做的都有自己的添加,同时应该有规范的内容要求。

在提纲部分中,应该写出自己设计了什么功能,不能只是简单的写“功能设计”四个字。而且需求分析也应该详细的写出是什么系统的需求分析,比如我们组做的是“学生信息管理系统”,则应该写清楚。技术点处也应该写清“

一、二”。

在需求分析中,我们应该用十分简单易懂的文字表明设计的基本目的、意义和功能,因为在以后的工作中并不一定是计算机专业的人员来看我们的需求分析,我们必须要用最简单明了的语言来表达自己的思路。

在概要设计页,我们要写明C/S设计的优缺点等信息,同时画出功能结构图,以方便答辩时讲解。

在详细设计页中,我们要展示出各个功能的流程图,同时配以文字讲解。

最重要的是功能设计界面,在这个界面中,我们要详细的写出自己的功能设计方法,实现方式等,老师说,希望的效果是“是个程序员看到这个PPT以后,十个程序员会做出十个相同的程序”。

最后在项目总结中我们要写出自己对这次实训课的理解,以及对团队合作的体会。

下载C#实训日志8[精选5篇]word格式文档
下载C#实训日志8[精选5篇].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C#实训总结

    C#实训总结 经过两周的课程实训,让我感触很深。虽然C#已经学了一个学期,但是到真正写代码的时候对以前所学的知识还是有点陌生,不知道该从哪里着手。还有以前总是以为写需求分......

    C#实训总结

    C#实训总结 实训期间让我学到很多东西,不仅在理论上让我对it领域有了全新的认识,在实践能力上也得到了很大的提高,真正的学到了学以致用,更学到很多做人的道理,对我来说受益匪浅......

    C#实训总结报告

    贵州电子信息职业技术学院计算机科学系 实训总结报告 组名:IT全力蓝队 组员:文权、韩梅丽、杨进、潘杰珍、姚茂霞、康波姓名:文权班级:21001日期:2012年6月9日通过这三周的实训,给......

    C#实训个人小结

    经过4个礼拜的实训,让我受益匪浅,给我收获最大的是我觉得很多工作需要我去摸索和探讨,要不怕吃苦,勇于激流勇进,有的工作虽然单挑又重复,但这是磨练意志最有效的方法,我告诫自己要......

    C#实训总结(精选五篇)

    C#实训总结 系:计算机系实训班级: 学生姓名:实训地点 时间:指导教师: 一、通过本次实训,你有哪些收获? 对C#了解更深,从最初的理论知识升华到基本技能,运用到一定现实生活和学习中,领......

    C#实训课程总结

    *** C#程序设计实训总结姓名:*** 班级:12级*****1班 学号:*** 指导教师:***** 一 实训选题 学校图书管理系统的开发 二 实训设计作品内容 1、图书检索模块:是图书管理系统的重要......

    实训日志

    实习日志 2月13日星期一晴 今天是我上班的第一天,见到了很多领导同事,也交代了今后实习的一些工作任务,参观了工地施工现场的情况,让我可以看到这栋楼的具体实施。很高兴有一个......

    实训日志大全

    实训日记(一) 11月8日 实训动员 今天上午系里给2008级新闻采编专业召开了实训动员大会,这次实训的主要目的是测试与锻炼我们新闻系的学生的彩写编评摄的能力,对我们大学三年的专......