数据库实训学生系统文档格式.docx
《数据库实训学生系统文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实训学生系统文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
安排
独立完成模块设计、内容搭建以及数据库数据连接
实
习
要
求
使用MicrosoftVisualStudio2017和SQLServer2008开发学生信息管理系统
主要
设施
设备
MicrosoftVisualStudio2017、SQLServer2008、Win7系统的PC机一台
成
果
学生信息管理系统可以满足用户的需求,具体体现在对学生信息和学生成绩的录入,修改,查询,修改等操作。
实习报告
1引言
学生信息管理系统开发我们需具备对后台数据库表的建立,插入,查询,删除,更新,VisualStudio2017工具的使用和面向对象C#语言等知识。
通过对学生信息管理系统的设计慢慢了解,深入学习,从而达到熟练掌握.NET基本结构以及C#语言的基本知识和技能;
基本掌握面向对象程序开发的基本思路和方法;
掌握ADO.NET数据库开发基本知识;
能够利用所学的基本知识和技能,进行简单数据库应用程序设计。
根据课题的要求,给出解决问题的方案,通过分析问题、分解问题来解决问题,最终达到熟练掌握C#语言的运用和VisualStudio2017工具的使用。
1.1系统概述
系统由整体有四部分组成:
1)首先,只有符合权限的用户才能对学生信息管理系统进行操作,所以在使用系统前需要先登录系统,因此应设计一个登录界面。
2)登录完系统后,用户应该进入系统主菜单,因此需要一个主菜单界面。
3)用户应该能对学生的具体信息进行增删改查等操作,因此需要设计管理学生信息的窗体程序。
4)用户还应该可以对学生的成绩进行数据库操作,因此需要设计管理学生成绩的窗体程序。
1.2需求分析
本人计划编写一个人学生信息管理系统,主要功能是满足用户对学生信息的管理,包括录入、删除、修改、查询功能。
1.3运行环境
win7系统,MicrosoftVisualStudio2017以及SQLServer2008
2概要设计
2.1设计思路
本次设计和数据库紧密相连,首先我们根据题意设计相关的数据库以及相关的数据表(book,manager,user)。
然后我们把这次的设计内容分成了若干个模块,逐次实现各个模块的功能,这样不仅便于功能的实现,而且外观美观,层次清晰。
制作过程主要是页面的设计和相关代码的编写。
2.2模块功能介绍
学生信息管理系统主要分为四种模块:
录入模块、删除模块、修改模块、查找模块。
逐步对各个模块的代码书写,实现多种功能,让用户快速而便捷地使用学生信息管理系统。
用户可以录入学生信息,输入学生的学号从而删除学生信息、查找学生信息、修改学生信息。
2.3模块结构图学生登录
学生信息管理
录入学生基本信息
查找学生信息
删除学生信息
修改学生信息
学生基本信息表
学生成绩管理模块图与此图相似,仅是名称不同。
2.4功能设计分工
学生信息管理系统主要分为四种模块:
3详细设计及测试
3.1数据库设计说明
学生信息数据表
学生成绩数据表
学生登录表
3.2登录模板设计
为了系统的安全,在进入系统之前首先会出现一个登录模块,学生只有在输入正确的学生名和正确的密码之后,才能进入系统。
用户登录窗体中放置了两个文本框(textbox),用来输入学生名和密码;
两个按钮(Button)用来登录、取消。
登录代码的关键部分和代码的简单说明:
privatevoidbutton1_Click(objectsender,EventArgse)//构造函数,返回值空类型,
{
//调用dataaccesslayer层的login()方法,类实例化
SQLHelpersqlhelper=newSQLHelper();
inttotal=sqlhelper.login(textBoxusername.Text.Trim(),textBoxpasword.Text.Trim());
//返回一个整型
if(total>
0)
{
FormMainmain=newFormMain();
main.Show();
this.Hide();
}
else
textBoxusername.Text="
"
;
textBoxpasword.Text="
//用户名和密码清空
textBoxusername.Focus();
//光标恢复原位
MessageBox.Show("
用户名或密码错误"
"
警告"
MessageBoxButtons.OK);
}
3.3管理系统选择界面设计
privatevoidToolStripMenuItem_Click(objectsender,EventArgse)
{Formloginlogin=newFormlogin();
login.ShowDialog();
//显示登录窗口}
privatevoidToolStripMenuItem_Click(objectsender,EventArgse)
{this.Close();
//退出学生信息管理系统}
进入查询窗口的实现两句代码:
Studentserchsearch=newStudentserch();
search.ShowDialog();
Studentmodifymodify=newStudentmodify();
modify.ShowDialog();
if(modify.DialogResult==DialogResult.OK)
{bind();
}
4学生信息管理系统设计
举例:
修改学生年龄如下图
string学号=textBoxsno.Text.Trim();
string姓名=textBoxsname.Text.Trim();
string性别=comboBoxsex.Text.Trim();
string日期=textBoxbirthday.Text.Trim();
//定义4个字符串型变量(学号,姓名,性别,日期),分别把控件的内容赋给他们
{检验并给出提示};
close();
//取消录入
newStudentDAO().delete(textBoxsno.Text.Trim());
这行代码是把输入的学号(textBoxsno中的内容)作为一个参数传到StudentDAO类中delete构造函数中,然后与后台中已存在的学号进行比较。
publicvoiddelete(stringsno)
{stringsql="
deletefromstudentwheresno=@sno"
//定义一个字符串变量并赋值
SqlParameter[]para=newSqlParameter[]//"
SqlParameter"
是系统中的类,属于不能继承的类。
值引用是不能够继承的。
此行是类的实例化
{newSqlParameter("
sno"
SqlDbType.NChar)//"
SqlDbType"
指定特定的字段和数据类型};
inti=0;
para[i++].Value=sno;
sqlhelper.ExecuteNonQuery(sql,para)//传递参数到SQLhelper中,与后台已存数据进行比较之后做出相应的参考}。
if(textBox1sno.Text=="
)//判断学号输入处是否为空
bind();
//调用构造函数
else{bs.DataSource=newSQLHelper().CreateTable1(textBox1sno.Text.Trim());
dataGridView2.DataSource=bs;
}//不相等时,通过数据源(DataSource)这个渠道把控件(dataGridView1)与反馈数据绑定在一起,在控件(dataGrrridView1)中显示table表。
privatevoidbind(){MessageBox.Show("
查询失败,请重新输入!
提示"
);
textBox1sno.Focus()//光标返回到开始;
return;
}
stringsno=textBoxsno.Text.Trim();
stringsname=textBoxsname.Text.Trim();
stringsex=comboBoxsex.Text.Trim();
stringsbirthday=textBoxsbirthday.Text.Trim();
)这几段代码是定义字符串变量,将各种控件中的内容赋值给变量。
这句“newStudentDAO().modify(sno,sname,sex,sbirthday)”代码含义是指将参数传入到modify构造函数中,进行相应的操作。
“updatestudentsetsname=@snamewheresno=@snoupdatestudentsetsex=@sex”
这串代码是用于后台数据库的更新,从而实现系统删除功能的实现。
4学生成绩管理系统设计
修改学生数学成绩
学生成绩管理系统与学生信息管理系统代码非常相似,仅是功能名称不同而已,此处不再列举代码。
心得与体会
在本次试验中,对该学生信息管理系统存在较多不完善的地方,在此列举部分:
1.由于C#的各种变量处理起来