1、数据库课程设计成绩管理系统实 习 报 告 实习名称: 数据结构与数据库课程设计 系部名称: 测绘工程学院 专业班级: 测绘11-3班 学生姓名: 黄第科 学 号: 20110222 指导教师: 梁 欣 黑龙江工程学院教务处制实习名称数据结构与数据库课程设计实习时间2012年 12 月 17 日 至 2012 年 12 月 28 日 共 2 周实习单位或实习地点实验楼601、606、612同组成员一人评分指标与分值实习态度 (工作态度是否积极,是否缺勤、违纪,团结、协作精神等)30分个人能力水平(完成任务的数量和质量,实际操作能力,对小组实习任务完成的贡献等)30分小组实习成果质量,个人实习报告
2、的质量(内容是否全面,结论是否正确,书写是否规范,体会是否深刻等)40分得 分总 分成绩等级评定9010080897079606960以下优良中及格不及格指导教师评语: 成 绩指导教师签字:年 月 日一、实习目的本次数据库课程设计是以Access数据库作为后台以C#作为前台的应用型设计课程。综合我们所学的两大课程创建应用型的数据库系统,大大的提高了我们学生的动手能力,作到了理论与实践相结合。二、实习仪器设备硬件环境Pentium 4以上微机,内存128MB以上,建议256MB。操作系统:Windows 7。编程环境 :C#程序设计语言,Access2003,通过ADO.NET访问。三、实习原理
3、、内容及步骤数据库截图:表页面:查询页面:Form1:登录窗体 Form2:学生登录页面Form11:教师登录页面修改密码成绩录入:修改成绩:四、实习中存在的问题、解决方法及进一步的想法等此次数据库课程设计过程中,遇到的主要问题总结如下:第一:看错误列表,如“找不到”成绩表“,后来问同学知道,是没有找到我要的数据,是我编写错误了,我在数据里写的是”成绩“表。第二:立数据库时,以为是在access里面建立各种窗体的,做了很多没用工,后来看了老师给我例子,才知道是vs上建立各种窗体的。第三:在C#中建立与access数据库连接时,直接提供路径,没有连接上,而后在连接数据库时在连接句前加上字符相对于
4、单一的连接语句更容易连接得上。把文件和源文件放在同一个文件内,写代码连接时更简单了第四:不知道怎样建立一个主窗体,让老师进入和学生进入能进行不同的内容,我怎么也建立不起来,后来建立两个主窗体,一个学生进入的主窗体,一个老师进入的主窗体。 第五:每次用到数据库时,都要建立连接,这样要写大量的代码,在项目里建立一个与数据库连接的类就,每次用到时,调用就行,五、实习心得体会通过本次课程设计,总的来说,受益菲浅,这些天中我们学到了很多东西,包括建表,导入数据,查询,插入,最重要的是我们有机会用电脑自己进行实践,开始认为它很难,后来在实践结合找资源,慢慢的都做出来了,遇到困难时一定不要放弃,多去找书,多
5、去向别人请教,多去实践问题对的。在这个过程中,我对C#建立窗体有了更深的认识,对.net有了了解,我还发现,想学好这个,英语也要好才行。我以后一定好好学英语,好好学数据库。 注:此报告为参考格式,各栏项目可根据实际情况进行调整。附:源代码Form1:登录窗体using System;using System.Collections.Generic;using System.Data.OleDb;using System.Linq;using System.Text;using System.Threading.Tasks;namespace amw class q public static
6、OleDbConnection con = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=黄第科A.mdb); using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;
7、using System.Windows.Forms;namespace amw public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) DataSet dataset = new DataSet(); /创建数据集 q.con.Open(); /打开连接 if (textBox1.Text.Trim() = ) / 验证是否输入了用户姓名 MessageBox.Show(用户名不能为空); tex
8、tBox1.Focus(); return; if (textBox2.Text.Trim() = )/ 验证是否输入了密码 MessageBox.Show(请输入密码); textBox2.Focus(); return; if (radioButton1.Checked = true) string OleDb = select count(*) from 密码 where 用户名= + textBox1.Text.Trim() + and 密码= + textBox2.Text.Trim() + and 用户类型=学生; OleDbCommand comm = new OleDbComm
9、and(OleDb, q.con); / 创建comm对象 int count = (int)comm.ExecuteScalar();/执行查询,并返回查询 if (count = 1)/判断是否存在这样一列 MessageBox.Show(登录成功!); this.Hide(); Form2 f2 = new Form2(); f2.Show(); else MessageBox.Show(不存在此用户); if (radioButton2.Checked = true) string OleDb =select count(*) from 密码 where 用户名= + textBox1
10、.Text.Trim() + and 密码= + textBox2.Text.Trim() + and 用户类型=老师; OleDbCommand comm = new OleDbCommand(OleDb, q.con); / 创建comm对象 int count = (int)comm.ExecuteScalar();/执行查询,并返回查询 if (count = 1)/判断是否存在这样一列 MessageBox.Show(登录成功!); this.Hide(); Form11 f2 = new Form11(); f2.Show(); else MessageBox.Show(不存在此用
11、户); 修改密码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace amw public partial class 修改密码 : Form public 修改密码() In
12、itializeComponent(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Trim() = | textBox2.Text.Trim() = | textBox3.Text.Trim() = | textBox4.Text.Trim() = ) MessageBox.Show(请填写完整信息!, 错误提示); else q.con.Close(); q.con.Open(); string OleDb = select *from 密码 where 用户名= + textBox1.
13、Text.Trim() + and 密码= + textBox2.Text.Trim() + ; OleDbCommand cmd = new OleDbCommand(, q.con); cmd.CommandText = OleDb; if (cmd.ExecuteScalar() = null) MessageBox.Show(用户名或密码错误!, 错误提示); else if (textBox3.Text.Trim() != textBox4.Text.Trim() MessageBox.Show(新密码和确认密码不一致,请重新输入!, 错误提示); else OleDb = upda
14、te 密码 set 密码= + textBox3.Text.Trim() + where 用户名= + textBox1.Text.Trim() + ; cmd.CommandText = OleDb; cmd.ExecuteNonQuery(); q.con.Close(); this.Close(); MessageBox.Show(密码修改成功!, 成功提示); private void button2_Click(object sender, EventArgs e) q.con.Close(); this.Close(); 成绩录入:using System;using System
15、.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace amw public partial class 成绩录入 : Form public 成绩录入() InitializeComponent(); private void
16、 button1_Click(object sender, EventArgs e) DataSet dataset = new DataSet(); /创建数据集 q.con.Open(); string xh = textBox1.Text.Trim(); string xm = textBox2.Text.Trim(); int cn = int.Parse(textBox3.Text.Trim(); string OleDbstring = insert into 成绩 values( + xh + , + xm + , + cn + ); OleDbCommand oldcomm =
17、 new OleDbCommand(OleDbstring, q.con); int n = oldcomm.ExecuteNonQuery(); if (n = 1) MessageBox.Show(记录已成功添加到表中); q.con.Close(); private void button2_Click(object sender, EventArgs e) this.Close(); 修改成绩:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using
18、 System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace amw public partial class 成绩修改 : Form public 成绩修改() InitializeComponent(); CurrencyManager cz; private void button1_Click(object sender, EventArgs e) cz.Positi
19、on = 0; private void 成绩修改_Load(object sender, EventArgs e) string CString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=黄第科A.mdb; string OleDbstring = select * from 成绩 ; OleDbConnection MyCon = new OleDbConnection(CString); /创建连接对象 MyCon.Open(); OleDbDataAdapter oda = new OleDbDataAdapter(OleDbstri
20、ng, CString); DataSet dataset = new DataSet(); oda.Fill(dataset, 成绩); textBox1.DataBindings.Add(Text, dataset, 成绩.学号); textBox2.DataBindings.Add(Text, dataset, 成绩.课程编号); textBox3.DataBindings.Add(Text, dataset, 成绩.成绩); cz = (CurrencyManager)this.BindingContextdataset, 成绩; cz.Position = 0; private vo
21、id button2_Click(object sender, EventArgs e) if (this.cz.Position = 0) MessageBox.Show(已经是第一条记录, 信息提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; else this.cz.Position-; private void button3_Click(object sender, EventArgs e) if (this.cz.Position = this.cz.Count - 1) MessageBox.Show(已
22、经是末一条记录, 信息提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; else this.cz.Position+; 成绩查询:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Threading.T
23、asks;using System.Windows.Forms;namespace amw public partial class 成绩查询 : Form public 成绩查询() InitializeComponent(); private void 成绩查询_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“黄第科ADataSet.成绩表”中。您可以根据需要移动或删除它。 this.成绩表TableAdapter.Fill(this.黄第科ADataSet.成绩表); private void button2_Click(obje
24、ct sender, EventArgs e) string connstring = provider=microsoft.Jet.OLEDB.4.0;DaTa Source=黄第科A.mdb; string Sqlstring = select 学号 as 学号,课程编号 as 课程编号 ,成绩 as 成绩 from 成绩表 where 成绩=60; OleDbConnection oldconn = new OleDbConnection(connstring); oldconn.Open(); OleDbDataAdapter oda = new OleDbDataAdapter(Sq
25、lstring, connstring); DataSet ds = new DataSet(); oda.Fill(ds, ScoreInfo); dataGridView1.DataSource = ds.TablesScoreInfo; string sql = select count(*) from 成绩表 where 成绩=60; label1.Text = 及格人数有 + sql.ToString(); private void button4_Click(object sender, EventArgs e) this.Close(); private void button3
26、_Click(object sender, EventArgs e) string connstring = provider=microsoft.Jet.OLEDB.4.0;DaTa Source=黄第科A.mdb; string Sqlstring = select 学号 as 学号,课程编号 as 课程编号 ,成绩 as 成绩 from 成绩表 where 成绩60; OleDbConnection oldconn = new OleDbConnection(connstring); oldconn.Open(); OleDbDataAdapter oda = new OleDbData
27、Adapter(Sqlstring, connstring); DataSet ds = new DataSet(); oda.Fill(ds, ScoreInfo); dataGridView1.DataSource = ds.TablesScoreInfo; string sql = select count(*) from 成绩表 where 成绩60; label1.Text = 及格人数有 + sql.ToString(); private void button1_Click(object sender, EventArgs e) string connstring = provi
28、der=microsoft.Jet.OLEDB.4.0;DaTa Source=黄第科A.mdb; string Sqlstring = select 学号 as 学号,课程编号 as 课程编号 ,成绩 as 成绩 from 成绩表 where 学号= + comboBox1.Text.Trim() + ; OleDbConnection oldconn = new OleDbConnection(connstring); oldconn.Open(); OleDbDataAdapter oda = new OleDbDataAdapter(Sqlstring, connstring); DataSet ds = new DataSet(); oda.Fill(ds, 成绩表); dataGridView1.DataSource = ds.Tables成绩表; 学生信息查询:using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace amw public partial class 信息查询 : Form CurrencyManager ca; public 信息查询() InitializeComponent();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1