学生点名系统Word文档格式.docx
《学生点名系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生点名系统Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
模拟日常生活中的点名方式,使用windows应用程序设计主界面实现点名功能,通过对主界面菜单的设计实现其他的功能。
3模块分析及设计
3.1界面设计
3.1.1主界面
单击“点名”按钮开始点名,然后单击“到”或“缺席”按钮实现应答功能。
“文件”菜单的扩展有“学生表”,“考试标记”,“关闭”。
“考试标记”扩展有“缺席少于3次”和“缺席不低于3次”。
以上的菜单分别实现了“点名”以外的其它所有功能。
3.1.2其他界面
以下3个界面中所用到的数据绑定控件均为DataGridView控件
分别实现对不同学生信息的显示功能。
3.2代码设计
3.2.1“点名”按钮代码
privatevoid学生表_Load(objectsender,EventArgse)
{
//TODO:
这行代码将数据加载到表“学生DataSet2.student”中。
您可以根据需要移动或移除它。
this.studentTableAdapter1.Fill(this.学生DataSet2.student);
}
staticstringconStr="
server=.;
database=学生;
integratedsecurity=true"
;
staticSqlConnectioncon=newSqlConnection(conStr);
staticintkaiShi=0;
privatevoidbutton3_Click(objectsender,EventArgse)
kaiShi=1;
//开始标记
SqlCommandcmd=con.CreateCommand();
stringselect="
select*fromstudent"
cmd.CommandText=select;
con.Open();
SqlDataReaderreader=cmd.ExecuteReader();
reader.Read();
textBox1.Text=reader["
学号"
].ToString();
textBox2.Text=reader["
姓名"
reader.Close();
con.Close();
3.2.2“到”按钮代码
staticintn=1;
//序号每次从1开始
privatevoidbutton1_Click(objectsender,EventArgse)
if(kaiShi==1)
try
n++;
select*fromstudentwhere序号="
+n.ToString();
catch
MessageBox.Show("
点名结束!
"
);
3.2.3“缺席”按钮代码
privatevoidbutton2_Click(objectsender,EventArgse)
////////////////////////////////////
SqlCommandcmd1=con.CreateCommand();
stringselect1="
select缺席次数fromstudent1where学号="
+textBox1.Text;
cmd1.CommandText=select1;
SqlDataReaderreader1=cmd1.ExecuteReader();
reader1.Read();
intciShu=int.Parse(reader1["
缺席次数"
].ToString())+1;
reader1.Close();
//con.Close();
if(ciShu<
3)
select1="
updatestudent1set缺席次数='
+ciShu.ToString()+"
'
考试标记='
1'
where学号='
+textBox1.Text+"
else
0'
//con.Open();
cmd1.ExecuteNonQuery();
/////////////////////////////////////
3.2.4菜单代码
privatevoid关于ToolStripMenuItem_Click(objectsender,EventArgse)
3次没到的学生其考试标记为0,其他的为1"
privatevoidtoolStripMenuItem2_Click(objectsender,EventArgse)
///////////////////////
Formf=new缺席少于3次();
f.Show();
privatevoidtoolStripMenuItem3_Click(objectsender,EventArgse)
Formf1=new缺席不低于3次();
f1.Show();
privatevoid技术支持ToolStripMenuItem_Click(objectsender,EventArgse)
System.Diagnostics.Process.Start("
privatevoid关闭ToolStripMenuItem_Click(objectsender,EventArgse)
this.Close();
privatevoid学生表ToolStripMenuItem_Click(objectsender,EventArgse)
Formf=new学生表();
3.2.5“添加”按钮代码
staticstringconString="
staticSqlConnectionmyCon=newSqlConnection(conString);
ints=1;
SqlCommandcmd=myCon.CreateCommand();
myCon.Open();
stringstr1="
select*fromstudentwhere序号=(selectmax(序号)fromstudent)"
cmd.CommandText=str1;
if(reader.Read()==true)
s=int.Parse(reader["
序号"
].ToString());
s++;
myCon.Close();
if(textBox1.Text=="
||textBox2.Text=="
)
请输入数据!
return;
stringstr2="
insertintostudent(序号,学号,姓名,性别)values('
+s.ToString()+"
'
+textBox1.Text+
"
+textBox2.Text+"
+comboBox1.SelectedItem.ToString()+"
)"
stringstr3="
insertintostudent1(学号,缺席次数,考试标记)values('
cmd.CommandText=str2;
cmd.ExecuteNonQuery();
//MessageBox.Show("
添加数据成功!
cmd.CommandText=str3;
3.2.6“查询”按钮代码
stringstr=null;
if(textBox1.Text!
="
str="
selectstudent.学号,student.姓名,student.性别,student1.缺席次数fromstudent,student1wherestudent.学号=student1.学号andstudent1.学号='
+textBox1.Text+"
elseif(textBox2.Text!
selectstudent.学号,student.姓名,student.性别,student1.缺席次数fromstudent,student1wherestudent.学号=student1.学号andstudent.姓名='
+textBox2.Text+"
cmd.CommandText=str;
学号:
+reader["
].ToString()+"
\n姓名:
\n性别:
性别"
\n缺席次数:
输入有误!
3.2.7“考试标记”的登陆代码
//考试标记为0
privatevoid缺席不低于3次_Load(objectsender,EventArgse)
stringconStr="
SqlConnectioncon=newSqlConnection(conStr);
selectstudent.学号,student.姓名,student.性别,student1.缺席次数fromstudent,student1wherestudent.学号=student1.学号andstudent1.考试标记=0"
SqlDataAdaptersda=newSqlDataAdapter(cmd);
DataTabledt=newDataTable();
sda.Fill(dt);
dataGridView1.DataSource=dt;
//考试标记为1
privatevoid缺席少于3次_Load(objectsender,EventArgse)
{
selectstudent.学号,student.姓名,student.性别,student1.缺席次数fromstudent,student1wherestudent.学号=student1.学号andstudent1.考试标记=1"
4数据库设计说明
新建一个“学生”数据库,并在其中新建student和student1两个表(如下图所示)
5制作过程及要点
本次课程设计通过模拟生活中的点名方式,对不同的功能进行各个击破,然后将不同功能组合在一起形成了“学生点名系统”。
为了方便对数据库的存取操作,用了2张表代替了原先的一张表,程序执行时,每录入一个学生信息都会对2张表进行写操作。
为了让点名功能能够自动有序的完成,特意将student表增加了“序号”属性。
6设计总结
我们小组三人在本次试验中充分体会到了团结,合作以及坚持等因素是一件事情成功的关键所在。
首先,在团结方面,我们认为系统编程不是一个人的事情,而且特别苦和累,也是年轻人的事情,所以本软件在开发期间组员之间都要团结,一起讨论解决方案和鼓励对方。
其次一定要抱有一颗合作的心态,我们认为没有合作是做不成事情的。
特别是在和队员讨论问题的时候,一定要耐性的理解对方的思路,经过自己的思考,用于实际之中。
我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
某个人的离群都可能导致导致整项工作的失败。
实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。
团结协作是我们实习成功的一项非常重要的保证。
而这次实习也正好锻炼我们这一点,这也是非常宝贵的。
这次课程设计,我们很快就完成了,这要归功于我们组对此次任务的合理分配。
这次课程设计让我认识到一个人的力量是有限的,组员之间有效的沟通是很重要的。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
对我们而言,知识上的收获重要,精神上的丰收更加可喜。
挫折是一份财富,经历是一份拥有。
这次实习必将成为我人生旅途上一个非常美好的回忆!
7参考资料
《VisualStudio.NET2008开发一册通:
C#3.0从基础到项目实战》李海涛化学工业出版社2010-1-1
《VisualC#开发技术大全》明日科技人民邮电出版社2007-11-01
《VisualC#2008入门经典》(美)JamesFoxall人民邮电出版社2009-06-01
《VisualC#通用范例开发金典》王超,潘杨电子工业出版社2008-6-1