《t程序设计》实训报告Word文档下载推荐.docx
- 文档编号:18364107
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:20
- 大小:25.21KB
《t程序设计》实训报告Word文档下载推荐.docx
《《t程序设计》实训报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《t程序设计》实训报告Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
1.2课程设计任务
任务一:
校历管理程序
任务二:
学生档案管理系统
1、学生档案查询系统
2、学生档案录入系统
3、学生档案维护系统
任务三:
班级编码表维护系统
1.3设计任务的具体要求
1、校历管理程序
在设计学生档案管理系统时我们首先要创建一个窗体,根据开学日期、教学周数、假期周数通过日期函数在DataGridView控件上创建校历表。
为程序添加工具栏、学期选择区和校历表区,在学期选择中用DataGridView控件显示各学期校历表中的学年与学期,点击“生成校历”按钮生成校历。
在校历表区用DataGridView控件显示选中“学期学年”
的校历,为添加的控件设置属性。
2、学生档案管理系统
(1)学生档案查询系统
首先要设计窗体界面。
在查询条件中系部绑定用BingdingSource控件在设计视图完成所以应用程序添加一个类型化数据集dataSetDACX与系部编码表tblDepart关联,与listBox控件类似。
为相关控件添加代码实现程序功能所有窗体均放在查询窗体类中。
查询条件班级、姓名、学号、性别发生变化时都需要重新进行查询所以要分别编写文本框的事件,实现查询结果的实时变化。
(2)学生档案录入系统
创建程序窗体界面,为窗体添加工具栏和状态栏控件并设置属性。
在工具栏下方添加控件和按钮,点击按钮将已输入的学生信息写入到数据库。
方便以后从数据库中查带来方便。
学生档案管理系统是一个教育单位不可或缺的部分,它的产生对于学校的决策者和管理者来说都是至关重要的。
它能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统手工的方式管理文件档案,这种管理方式存在许多缺点,如效率低,保密性查,另外时间一长,将产生大量的文件和数据,这个查找,更新和维护都带来了不少的困囊。
(3)学生档案维护系统
创建程序窗体界面工具栏设计也学生档案录入程序类似比学生档案录入系统多了一个保存按钮,绑定数据库要用到BindingSource控件和DataGridView控件,DataGridView控件绑定到班级表和学生表以显示班级和学生信息在班级表和学生表中建立中从关系使得学生信息显示随选定班级变化。
对学生信息进行维护后应该单击“保存”按钮将修改后的信息保存到数据库。
3、班级编码表维护系统
为程序界面添加工具栏、记录导航控件、查询条件输入区基本信息显示区和信息列表显示,数据导航控件与DataGridView控件记录同步移动基本信息显示区显示当前选中记录信息,信息列表显示按查询条件模糊查询列的班级信息。
通过基本信息显示区修改当前选中记录的信息修改完毕后单击工具栏的保存按钮保存到数据库。
二、课程设计报告内容
2.1设计思想
.NET提供了一个运行时环境,叫做公用语言运行时,它管理着代码的执行,并使得开发过程变得更加简单。
.NET是一种面向网络支持各种用户终端的开发平台环境。
C#是.NET平台的通用开发工具,是专门为.NET应用而开发出的语言,它能够建造所有的.NET应用,其固有的特性保证了它是一种高效、安全、灵活的现代程序设计语言。
在C#的类型系统中,每种类型都可以看作一个对象,C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱,在C#中没有了全局函数,没有了全局变量,也没有了全局常数,都必须封装在一个类之中,C#的类模型是建立在.NET虚拟对象系统(VisualObjectSystemVOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成成分。
作为编程语言,C#是现代的、简单的、完全面向对象的,而且是类型安全的。
重要的是,C#是一种现代编程语言。
在类、名字空间、方法重载和异常处理等方面,C#去掉了C++中的许多复杂性,借鉴和修改了Java的许多特性,使其更加易于使用,不易出错。
C#只是一种面向对象的程序化设计语言,面向对象(ObjectOriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。
面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。
如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
起初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。
可是,这个定义显然不能再适合现在情况。
面向对象的思想已经涉及到软件开发的各个方面。
如,面向对象的分析(OOA,ObjectOrientedAnalysis),面向对象的设计(OOD,ObjectOrientedDesign)、以及我们经常说的面向对象的编程实现(OOP,ObjectOrientedProgramming)。
许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。
看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。
这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。
面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。
通过对.NET的了解和对c#课程的学习,在此基础上设计代码和窗体来实现以下程序:
设计窗体链接数据库,使单击按钮之后可以对相关的信息进行录入,查找,删除,保存到数据库中。
众所周知,计算机的产生,已经成为了我们学校和工作的得力助手。
今天,计算机的价格已经十分低廉,性能还在不断地提高进步。
由于计算机可以替代人工进行许多繁杂的劳动,具备节省资源、提高工作效率、是敏感文档更加安全等特点,它已经被应用于许多领域。
因此,使用计算机来实现学生档案管理,开发一个良好的学生档案管理系统,已经成为当今时代发展的一种需求。
2.2流程图设计和数据库的关系图
登陆学生档案管理系统后可以可以分别进行按姓名的模糊查询,选择班级的按班级查询,选择系部的按系部查询,选择按学号查询。
2.3数据库的相关链接及窗体设计
(1)、数据库图
图2.3.1数据库
(2)学生档案管理系统的登陆窗体图
只有在用户名和密码符合数据库tblUser表里面的数据时才能登陆成功,进入学生档案管理系统,学生档案管理系统进行录入,查询,和维护等工作。
图2.3.2
if((textBox1.Text!
="
aa"
)||(textBox2.Text!
1234"
))
{
if(textBox1.Text!
)
{label4.Text="
error"
;
}
if(textBox2.Text!
{label5.Text="
error2"
if((textBox1.Text==string.Empty)||(textBox2.Text==string.Empty))
if(textBox1.Text==string.Empty)
if(textBox2.Text==string.Empty)
{label3.Text="
请输入用户名和密码!
"
}
(3)学生档案管理系统
登陆学生档案管理系统后会自动跳转到mdi窗口,在主窗体中可以进入到,校历管理系统,学生档案管理系统,班级编码表维护系统,学生档案查询,录入系统等方便操作,节约了操作的时间。
学生档案管理系统主窗体
(4)运行学生档案查询窗体及代码设计
1、在学生档案查询系统中多次用到数据库链接对象,所以将其定义在函数体外供所有函数调用数据库连接代码如下:
SqlConnectioncon=newSqlConnection("
DataSource=.\\sqlexpress;
InitialCatalog=studentsys;
IntegratedSecurity=True;
Pooling=False"
);
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceWindowsApplication3
publicpartialclasscx:
Form
publiccx()
InitializeComponent();
2、编写代码实现绑定的班级要随着系部变化而变化。
学生档案查询的任何一个查询条件发生变化都需要重新查询学生信息程序设计有五个查询条件,分别是选择系部、选择班级、按姓名查询、按学号查询和按性别查询。
其中查询原理都是一样的将其编写为一个函数。
privatevoidchaxun()
{
con.Open();
StringstrSQL="
selecttblStudent.Stu_Noas学生学号,Stu_Nameas学生姓
名,Sex_Nameas性别,Stu_Birthas出生日期,Stu_Nationas民族,Stu_NtvPlcas籍
贯,Party_Nameas政t治面貌,Stu_Erollas入学年月,tblStuDetail.fromtblStudent,
tblStuDetail,tblParty,tblSex,tblClasswhereStu_Party=Party_IDandStu_Class=Class_IDandStu_sex=Sex_IdandtblStuDetail.Stu_No=tblStudent.Stu_NoandClass_Name='
3、在查询时要求使用构造函数SQL语句。
strSQL+=cboBanji.Text.ToString();
strSQL+="
'
4、分别判断按姓名、按学号查询是否为空那个不为空就按那个条件进行查询。
if(txtXingming.Text.ToString()!
=string.Empty)
andStu_Namelike'
strSQL+=txtXingming.Text.ToString();
%'
if(txtXuehao.Text.ToString()!
andStu_Nolike'
strSQL+=txtXuehao.Text.ToString();
if(cboXingbie.Text.ToString()!
=string.Empty)
andStu_Sex='
strSQL+=cboXingbie.SelectedIndex;
SqlDataAdapterdp=newSqlDataAdapter(strSQL,con);
DataSetDS=newDataSet();
dp.Fill(DS,"
chaxun"
con.Close();
dataGridView1.DataSource=DS.Tables["
];
for(inti=8;
i<
17;
i++)
5、将学生的基本信息绑定到基本信息栏的控件
dataGridView1.Columns[i].Visible=false;
txtXuehao.DataBindings.Clear();
txtXuehao.DataBindings.Add("
Text"
DS.Tables[0],"
学生学号"
txtXingming.DataBindings.Clear();
txtXingming.DataBindings.Add("
学生姓名"
txt1Ruxuerq.DataBindings.Clear();
txt1Ruxuerq.DataBindings.Add("
入学年月"
txt1Chushengriqi.DataBindings.Clear();
txt1Chushengriqi.DataBindings.Add("
出生日期"
txt1Xingbie
.DataBindings.Clear();
txt1Xingbie.DataBindings.Add("
性别"
txt1minzu.DataBindings.Clear();
txt1minzu.DataBindings.Add("
民族"
txt1zhengmao.DataBindings.Clear();
txt1zhengmao.DataBindings.Add("
政治面貌"
txt1Jiguan.DataBindings.Clear();
txt1Jiguan.DataBindings.Add("
籍贯"
txt2Jiankang.DataBindings.Clear();
txt2Jiankang.DataBindings.Add("
Stu_Health"
txt2Techang.DataBindings.Clear();
txt2Techang.DataBindings.Add("
Stu_Skill"
txt2Sushe.DataBindings.Clear();
txt2Sushe.DataBindings.Add("
DS.Tables[0],"
Stu_Dorm"
txt2jiatingdianhua.DataBindings.Clear();
txt2jiatingdianhua.DataBindings.Add("
Stu_Phone"
txt2Youzhengbianma.DataBindings.Clear();
txt2Youzhengbianma.DataBindings.Add("
Stu_ZipCode"
txt2zhuzhi.DataBindings.Clear();
txt2zhuzhi.DataBindings.Add("
Stu_Addr"
lbl_Pic.DataBindings.Clear();
lbl_Pic.DataBindings.Add("
Stu_Photo"
6、程序有一个统计功能分别对班级的总人数,男生人数,女生人数,班级数进行统计。
执行统计查询语言要对函数的返回值进行统计。
privatevoidtoolStripButton2_Click(objectsender,EventArgse)
stringstrSQL="
selectcount(*)as班级数fromtblClasswhereClass_Dept='
strSQL+=cboXibu.SelectedValue.ToString();
strSQL+="
tsBanji.Text
=cboXibu.Text.ToString()+"
班级数为:
+Tongji(strSQL);
strSQL="
selectcount(*)fromtblStudentwhereStu_Class='
strSQL+=cboBanji.SelectedValue.ToString();
tsXuesheng.Text=cboBanji.Text.ToString()+"
学生总人数:
andStu_Sex='
1'
tsNansheng.Text=cboBanji.Text.ToString()+"
班男生人数:
2'
tsNvsheng.Text=cboBanji.Text.ToString()+"
班女生人数:
7、添加buttn按钮,能够对照片实现浏览功能。
privatevoidbtn_Pic_Click(objectsender,EventArgse)
pictureBox1.Load(lbl_Pic.Text.ToString());
2.4相关知识点
使用DataSet对象访问数据库,以及多数据库数据的添加,删除,修改。
DataGridView控件及相关属性的设置、常用方法、绑定数据源。
DataSet是ADD.net体系结构的中心。
DataSet允许使用无连接的应用程序不必争夺数据源,在无连接的情况下返回数据源获取相关信息的哥哥不同部分的效率比较低。
DataGridView控件的常用显示属性
属性
说明
DefaultCellStyle
获取或设置整个控件、一行或一列中所有单元格使用的默认样式
RowsDefaultCellStyle
获取或设置控件中所有行使用的默认单元格样式,不包括头单元格
AlternatingRowsDefaultCellStyle
获取或设置控件中交替行使用的默认单元格样式,不包括头单元格
RowsheadersDefaultCellStyle
获取或设置控件的行标头的默认单元格样式。
如果启用视觉样式则用当前主题进行重写。
ColumnheadersDefaultCellStyle
获取或设置控件的列标头的默认单元格样式。
Style
获取或设置在单元格级别的样式。
这些样式将重写那些较高级别继承的样式。
InheritrdStyle
获取当前应用于单元格、行或列的所有样式,包括比较高级别的继承样式。
DataSourse:
设置控件绑定到数据源绑定后控件数据源列名自动用作列标头文本并用数据源的内容填充为表中每一个可见行创建一行
Value:
返回选中单元格的行
SelectedRows:
获取当前选定行的集合
三、结
论
学生成绩管理系统的编写,使我对C#更加深入的了解。
在练习的过程中,在语言和写代码方面经常出现错误,在陈老师的一步步指导之下逐一改正,他让我知道了我们写程序的每一步都是十分严谨的,不容许任何马虎和错误,这让我们以后都十分认真的去做事情,去编写程序,而且,老师总是很关心我们的这门课程的学习情况,对这门课程知识点的理解,总会告诉我们这门课程的学习方法.
通过对程序进行分析编写代码之后,使我对c#.net课程中的学到的知识点更加理解,让我深刻的理解了数据库和窗体的链接能够哦更加熟练,对属性的定义的使用,事件的定义和使用也更加清楚,对其中的很多知识点也有了更进一步的理解,如控件的使用相关属性的设计,数据库的创建、链接、创建表,等操作。
学会了表与数据库之间的链接等
在设计程序代码的过程中我们还要考虑各种因素,认真对待,在运行的时候即使有一点小错误我们也是不能把程序运行成功,所以我们必须要对程序做出详细的分析,并进行改进,是程序运行到最佳,这样我们的程序才有使用的价值。
结束语
参考书目
(1)、《C#实用教程》郑阿奇
电子工业出版社
2008年1月
(2)、《visualc#.NET面向对象程序设计教程》王改梅
机械工业出版社
(3)、《C#基础教程》[M]李永平.北京:
清华大学出版社,2008:
123~143.
(4)、易向东,陈蓓,万英编著.《C#程序员开发指南》[M].北京:
北京希望电子出版社,2006:
212~232.
(5)、(美)内格尔,伊夫杰,格林等.《C#高级编程》(第四版)[M].李敏波.北京:
清华大学出版社,2006:
80~100.
(6)刘烨,季石磊等.《C#编程及应用程序开发教程》[M].北京:
清华大学出版社,2007:
132~180.
(7)、(美)波尔.《C#解析教程》[M].清华大学出版社.2003年
(8)、(美)KailiWatson.《C#2005数据库编程经典教程》[M].人民邮电出版社,2007:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- t程序设计 程序设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)