数据库课程设计成绩管理系统.docx
《数据库课程设计成绩管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计成绩管理系统.docx(35页珍藏版)》请在冰豆网上搜索。
![数据库课程设计成绩管理系统.docx](https://file1.bdocx.com/fileroot1/2023-2/5/2c1bc421-6c57-4e49-aa4f-7dc2e6b78c53/2c1bc421-6c57-4e49-aa4f-7dc2e6b78c531.gif)
数据库课程设计成绩管理系统
实习报告
实习名称:
数据结构与数据库课程设计
系部名称:
测绘工程学院
专业班级:
测绘11-3班
学生姓名:
黄第科
学号:
20110222
指导教师:
梁欣
黑龙江工程学院教务处制
实习名称
数据结构与数据库课程设计
实习时间
2012年12月17日至2012年12月28日共2周
实习单位
或实习地点
实验楼601、606、612
同组成员
一人
评分
指标
与
分值
实习态度(工作态度是否积极,是否缺勤、违纪,团结、协作精神等)
30分
个人能力水平(完成任务的数量和质量,实际操作能力,对小组实习任务完成的贡献等)
30分
小组实习成果质量,个人实习报告的质量(内容是否全面,结论是否正确,书写是否规范,体会是否深刻等)
40分
得分
总分
成绩等级评定
90~100
80~89
70~79
60~69
60以下
优
良
中
及格
不及格
指导教师评语:
成绩
指导教师签字:
年月日
一、实习目的
本次数据库课程设计是以Access数据库作为后台以C#作为前台的应用型设计课程。
综合我们所学的两大课程创建应用型的数据库系统,大大的提高了我们学生的动手能力,作到了理论与实践相结合。
二、实习仪器设备
硬件环境Pentium4以上微机,内存128MB以上,建议256MB。
操作系统:
Windows7。
编程环境:
C#程序设计语言,Access2003,通过ADO.NET访问。
三、实习原理、内容及步骤
数据库截图:
表页面:
查询页面:
Form1:
登录窗体
Form2:
学生登录页面
Form11:
教师登录页面
修改密码
成绩录入:
修改成绩:
四、实习中存在的问题、解决方法及进一步的想法等
此次数据库课程设计过程中,遇到的主要问题总结如下:
第一:
看错误列表,如“找不到”成绩表“,后来问同学知道,是没有找到我要的数据,是我编写错误了,我在数据里写的是”成绩“表。
第二:
立数据库时,以为是在access里面建立各种窗体的,做了很多没用工,后来看了老师给我例子,才知道是vs上建立各种窗体的。
第三:
在C#中建立与access数据库连接时,直接提供路径,没有连接上,而后在连接数据库时在连接句前加上@字符相对于单一的连接语句更容易连接得上。
把文件和源文件放在同一个文件内,写代码连接时更简单了
第四:
不知道怎样建立一个主窗体,让老师进入和学生进入能进行不同的内容,我怎么也建立不起来,后来建立两个主窗体,一个学生进入的主窗体,一个老师进入的主窗体。
第五:
每次用到数据库时,都要建立连接,这样要写大量的代码,在项目里建立一个与数据库连接的类就,每次用到时,调用就行,
五、实习心得体会
通过本次课程设计,总的来说,受益菲浅,这些天中我们学到了很多东西,包括建表,导入数据,查询,插入,最重要的是我们有机会用电脑自己进行实践,开始认为它很难,后来在实践结合找资源,慢慢的都做出来了,遇到困难时一定不要放弃,多去找书,多去向别人请教,多去实践问题对的。
在这个过程中,我对C#建立窗体有了更深的认识,对.net有了了解,我还发现,想学好这个,英语也要好才行。
我以后一定好好学英语,好好学数据库。
注:
此报告为参考格式,各栏项目可根据实际情况进行调整。
附:
源代码
Form1:
登录窗体
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Data.OleDb;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespaceamw
{
classq
{
publicstaticOleDbConnectioncon=newOleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=黄第科A.mdb");
}
}
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceamw
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
DataSetdataset=newDataSet();//创建数据集
q.con.Open();//打开连接
if(textBox1.Text.Trim()=="")//验证是否输入了用户姓名
{
MessageBox.Show("用户名不能为空");
textBox1.Focus();
return;
}
if(textBox2.Text.Trim()=="")//验证是否输入了密码
{
MessageBox.Show("请输入密码");
textBox2.Focus();
return;
}
if(radioButton1.Checked==true)
{
stringOleDb="selectcount(*)from密码where用户名='"+textBox1.Text.Trim()+"'and密码='"+textBox2.Text.Trim()+"'and用户类型='学生'";
OleDbCommandcomm=newOleDbCommand(OleDb,q.con);//创建comm对象
intcount=(int)comm.ExecuteScalar();//执行查询,并返回查询
if(count==1)//判断是否存在这样一列
{
MessageBox.Show("登录成功!
");
this.Hide();
Form2f2=newForm2();
f2.Show();
}
else
{
MessageBox.Show("不存在此用户");
}
}
if(radioButton2.Checked==true)
{
stringOleDb="selectcount(*)from密码where用户名='"+textBox1.Text.Trim()+"'and密码='"+textBox2.Text.Trim()+"'and用户类型='老师'";
OleDbCommandcomm=newOleDbCommand(OleDb,q.con);//创建comm对象
intcount=(int)comm.ExecuteScalar();//执行查询,并返回查询
if(count==1)//判断是否存在这样一列
{
MessageBox.Show("登录成功!
");
this.Hide();
Form11f2=newForm11();
f2.Show();
}
else
{
MessageBox.Show("不存在此用户");
}
}
}
}
修改密码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceamw
{
publicpartialclass修改密码:
Form
{
public修改密码()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text.Trim()==""||textBox2.Text.Trim()==""||textBox3.Text.Trim()==""||textBox4.Text.Trim()=="")
{
MessageBox.Show("请填写完整信息!
","错误提示");
}
else
{
q.con.Close();
q.con.Open();
stringOleDb="select*from密码where用户名='"+textBox1.Text.Trim()+"'and密码='"+textBox2.Text.Trim()+"'";
OleDbCommandcmd=newOleDbCommand("",q.con);
cmd.CommandText=OleDb;
if(cmd.ExecuteScalar()==null)
{
MessageBox.Show("用户名或密码错误!
","错误提示");
}
else
{
if(textBox3.Text.Trim()!
=textBox4.Text.Trim())
{
MessageBox.Show("新密码和确认密码不一致,请重新输入!
","错误提示");
}
else
{
OleDb="update密码set密码='"+textBox3.Text.Trim()+"'where用户名='"+textBox1.Text.Trim()+"'";
cmd.CommandText=OleDb;
cmd.ExecuteNonQuery();
q.con.Close();
this.Close();
MessageBox.Show("密码修改成功!
","成功提示");
}
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
q.con.Close();
this.Close();
}
}
}
成绩录入:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceamw
{
publicpartialclass成绩录入:
Form
{
public成绩录入()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
DataSetdataset=newDataSet();//创建数据集
q.con.Open();
stringxh=textBox1.Text.Trim();
stringxm=textBox2.Text.Trim();
intcn=int.Parse(textBox3.Text.Trim());
stringOleDbstring="insertinto成绩values('"+xh+"','"+xm+"','"+cn+"')";
OleDbCommandoldcomm=newOleDbCommand(OleDbstring,q.con);
intn=oldcomm.ExecuteNonQuery();
if(n==1)
MessageBox.Show("记录已成功添加到表中");
q.con.Close();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
}
}
修改成绩:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceamw
{
publicpartialclass成绩修改:
Form
{
public成绩修改()
{
InitializeComponent();
}
CurrencyManagercz;
privatevoidbutton1_Click(objectsender,EventArgse)
{
cz.Position=0;
}
privatevoid成绩修改_Load(objectsender,EventArgse)
{
stringCString=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=黄第科A.mdb";
stringOleDbstring="select*from成绩";
OleDbConnectionMyCon=newOleDbConnection(CString);//创建连接对象
MyCon.Open();
OleDbDataAdapteroda=newOleDbDataAdapter(OleDbstring,CString);
DataSetdataset=newDataSet();
oda.Fill(dataset,"成绩");
textBox1.DataBindings.Add("Text",dataset,"成绩.学号");
textBox2.DataBindings.Add("Text",dataset,"成绩.课程编号");
textBox3.DataBindings.Add("Text",dataset,"成绩.成绩");
cz=(CurrencyManager)this.BindingContext[dataset,"成绩"];
cz.Position=0;
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
if(this.cz.Position==0)
{
MessageBox.Show("已经是第一条记录","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
else
this.cz.Position--;
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
if(this.cz.Position==this.cz.Count-1)
{
MessageBox.Show("已经是末一条记录","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
else
this.cz.Position++;
}
}
}
成绩查询:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceamw
{
publicpartialclass成绩查询:
Form
{
public成绩查询()
{
InitializeComponent();
}
privatevoid成绩查询_Load(objectsender,EventArgse)
{
//TODO:
这行代码将数据加载到表“黄第科ADataSet.成绩表”中。
您可以根据需要移动或删除它。
this.成绩表TableAdapter.Fill(this.黄第科ADataSet.成绩表);
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
stringconnstring="provider=microsoft.Jet.OLEDB.4.0;DaTaSource=黄第科A.mdb";
stringSqlstring="select学号as学号,课程编号as课程编号,成绩as成绩from成绩表where成绩>=60";
OleDbConnectionoldconn=newOleDbConnection(connstring);
oldconn.Open();
OleDbDataAdapteroda=newOleDbDataAdapter(Sqlstring,connstring);
DataSetds=newDataSet();
oda.Fill(ds,"ScoreInfo");
dataGridView1.DataSource=ds.Tables["ScoreInfo"];
stringsql="selectcount(*)from成绩表where成绩>=60";
label1.Text="及格人数有"+sql.ToString();
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
stringconnstring="provider=microsoft.Jet.OLEDB.4.0;DaTaSource=黄第科A.mdb";
stringSqlstring="select学号as学号,课程编号as课程编号,成绩as成绩from成绩表where成绩<60";
OleDbConnectionoldconn=newOleDbConnection(connstring);
oldconn.Open();
OleDbDataAdapteroda=newOleDbDataAdapter(Sqlstring,connstring);
DataSetds=newDataSet();
oda.Fill(ds,"ScoreInfo");
dataGridView1.DataSource=ds.Tables["ScoreInfo"];
stringsql="selectcount(*)from成绩表where成绩<60";
label1.Text="及格人数有"+sql.ToString();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringconnstring="provider=microsoft.Jet.OLEDB.4.0;DaTaSource=黄第科A.mdb";
stringSqlstring="select学号as学号,课程编号as课程编号,成绩as成绩from成绩表where学号='"+comboBox1.Text.Trim()+"'";
OleDbConnectionoldconn=newOleDbConnection(connstring);
oldconn.Open();
OleDbDataAdapteroda=newOleDbDataAdapter(Sqlstring,connstring);
DataSetds=newDataSet();
oda.Fill(ds,"成绩表");
dataGridView1.DataSource=ds.Tables["成绩表"];
}
}
}
学生信息查询:
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceamw
{
publicpartialclass信息查询:
Form
{
CurrencyManagerca;
public信息查询()
{
InitializeComponent();
}