C#实训日志8

2020-03-02 17:02:46 来源:范文大全收藏下载本文

1月2日(星期四):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C#实训日志7

C#实训日志3

C#实训日志1

C#实训日志9(优秀)

C#实训总结报告

C#实训总结

C#实训总结

C#实训总结

C#实训个人小结

C#实训课程总结

《C#实训日志8.doc》
C#实训日志8
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文