《数据库课程设计--信息管理系统(共31页).doc》由会员分享,可在线阅读,更多相关《数据库课程设计--信息管理系统(共31页).doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上实 习 报 告 实习名称: 数据结构与数据库课程设计 系部名称: 测绘工程学院 专业班级: 测绘11-3班 学生姓名: 彭 博 学 号: 指导教师: 梁 欣 黑龙江工程学院教务处制实习名称数据结构与数据库课程设计实习时间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、个学生信息管理系统,并在微机上实现。要求用到的数据全部存放在数据库中,通过数据库操作完成各种数据的输入输出。在课程设计过程中,首先要分析系统的用户需求和功能特点,然后完成数据库的设计以及整个系统的设计,实现对学生成绩的管理。1、建立学生信息表、课程表、成绩表和密码表2、查询截图(部分) Form1:学生登录页面 Form2:学生页面Form1:教师登录页面Form11:教师页面Form4:注册新用户页面Form12:查询学生信息Form6:通过学号查询学生成绩Form5:修改密码 Form12:添加学生信息Form9:更新成绩Form10:删除成绩Form11:添加成绩Form6:帮助页面四、
4、实习中存在的问题、解决方法及进一步的想法等此次数据库课程设计过程中,遇到的主要问题总结如下:第一:刚刚收到课程设计的任务时,自己没有规划,致使做了很多的无用功,等发现后,自己把需要做的窗体一一列出来后,再在C#中操作时,有了明确的目标,同时也提高了操作的效率。第二:开始在C#中建立与access数据库连接时,直接提供路径,没有连接上,而后在连接数据库时在连接句前加上字符相对于单一的连接语句更容易连接得上。第三:连接好数据库时,需要建立新数据源时,由于对dataGridView和dataset不是太了解,经过上网查阅资料得到了解决。第四:当需要关闭当前窗体而展现另一个窗体时,this.Hide(
5、);需与f2.Show();一起使用,而只关闭当前窗体时,只使用this.Hide();却关闭不了,当使用this.Close();时却可以五、实习心得体会通过本次课程设计,使我们不仅能够学习、掌握和运用数据库技术Access2003以及C#窗体等相关知识,而且能够根据需要数据库进行规划、设计及管理,并实现一定功能的系统管理。通过课程设计,使我们能够系统地认识到数据库技术重要性,理论联系实际,我们用理论来解决生活中的实际问题,而且本次也让我们知道查阅资料的重要性。本次课程设计加深了我们对数据库理论和基本知识的理解,提高运用数据库解决实际问题的能力,掌握使用数据库进行软件设计的基本方法。本次课程
6、设计不仅提高了我们的操作技能,而且还让我们了解了许多软件知识,对于我们今后的发展也起到一定的作用。 注:此报告为参考格式,各栏项目可根据实际情况进行调整。附:源代码从Form1到Form2,Form11的源代码:using System;using System.Data.OleDb; using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows
7、.Forms;namespace WindowsFormsApplication2 public partial class Form1 : Form public Form1() InitializeComponent(); private void button2_Click(object sender, EventArgs e) this .Hide (); private void button1_Click(object sender, EventArgs e) string CString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source
8、=H:彭博管理系统.mdb; DataSet dataset = new DataSet(); /创建数据集 OleDbConnection MyCon = new OleDbConnection(CString); /创建连接对象 MyCon.Open(); /打开连接 if (textBox1.Text.Trim() = ) / 验证是否输入了用户姓名 MessageBox.Show(用户名不能为空); textBox1.Focus(); return; if (textBox2.Text.Trim() = )/ 验证是否输入了密码 MessageBox.Show(请输入密码); text
9、Box2.Focus(); return; if (radioButton2.Checked = true) string OleDb = select count(*) from 密码表 where 用户名= + textBox1.Text.Trim() + and 密码= + textBox2.Text.Trim() + and 用户类型=学生; OleDbCommand comm = new OleDbCommand(OleDb, MyCon); / 创建comm对象 int count = (int)comm.ExecuteScalar();/执行查询,并返回查询 if (count
10、= 1)/判断是否存在这样一列 MessageBox.Show(登录成功!); this.Hide(); Form2 f2 = new Form2(); f2.Show(); else MessageBox.Show(不存在此用户); if (radioButton1.Checked = true) string OleDb =select count(*) from 密码表 where 用户名= + textBox1.Text.Trim() + and 密码= + textBox2.Text.Trim() + and 用户类型=教师; OleDbCommand comm = new OleD
11、bCommand(OleDb, MyCon); / 创建comm对象 int count = (int)comm.ExecuteScalar();/执行查询,并返回查询 if (count = 1)/判断是否存在这样一列 MessageBox.Show(登录成功!); this.Hide(); Form11 f2 = new Form11(); f2.Show(); else MessageBox.Show(不存在此用户); private void button3_Click(object sender, EventArgs e) radioButton2.Checked = true; t
12、extBox1.Text = ; textBox2.Text = ; textBox1.Focus(); private void radioButton2_CheckedChanged(object sender, EventArgs e) textBox1.Focus(); private void Form1_Load(object sender, EventArgs e) textBox1.Focus(); private void label1_Click(object sender, EventArgs e) private void button2_Click_1(object
13、sender, EventArgs e) this.Close(); Form4 zcyh; private void button4_Click(object sender, EventArgs e) if (zcyh = null | zcyh.IsDisposed) zcyh = new Form4(); zcyh.Show(); 从Form1到Form4的源代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data.OleDb ;using System.D
14、rawing;using System.Text;using System.Windows.Forms;using System.Data;namespace WindowsFormsApplication2 public partial class Form4 : Form public Form4() InitializeComponent(); private void Form4_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) private void but
15、ton2_Click(object sender, EventArgs e) private void button1_Click_1(object sender, EventArgs e) if (textBox1.Text.Trim() = | textBox2.Text.Trim() = | textBox3.Text.Trim() = | comboBox1.Text.Trim() = ) MessageBox.Show(请填写完整信息!, 错误提示); else if (textBox2.Text.Trim() != textBox3.Text.Trim() MessageBox.S
16、how(两次密码输入不一致,请重新输入!, 错误提示); else C.Open(); OleDbCommand cmd = new OleDbCommand(, C); string OleDb = select 用户名 from 密码表 where 用户名= + textBox1.Text.Trim() + ; cmd.CommandText = OleDb; if (cmd.ExecuteScalar() = null) OleDb = insert into 密码表 values( + textBox1.Text.Trim() + , + textBox2.Text.Trim() +
17、, + comboBox1.Text.Trim() + ); cmd.CommandText = OleDb; cmd.ExecuteNonQuery(); MessageBox.Show(用户添加成功!, 成功提示); else MessageBox.Show(该用户已经存在,请重新输入!, 错误提示); C.Close(); private void button2_Click_1(object sender, EventArgs e) C.Close(); this.Close(); private void Form4_Load_1(object sender, EventArgs e
18、) DataSet dataset = new DataSet(); OleDbDataAdapter adp = new OleDbDataAdapter(, C); adp.SelectCommand.CommandText = select 用户类型 from 密码表; adp.Fill(dataset); comboBox1.DataSource = dataset.Tables0.DefaultView; comboBox1.DisplayMember = 用户类型; comboBox1.ValueMember = 用户类型; textBox1.Focus(); private vo
19、id comboBox1_SelectedIndexChanged(object sender, EventArgs e) Form12:查询学生信息的源代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Window
20、sFormsApplication2 public partial class Form12 : Form public Form12() InitializeComponent(); private void Form12_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“彭博管理系统DataSet.学生信息表”中。您可以根据需要移动或删除它。 this.学生信息表TableAdapter.Fill(this.彭博管理系统DataSet.学生信息表); private void dataGridView1_CellContentClic
21、k(object sender, DataGridViewCellEventArgs e) private void button1_Click(object sender, EventArgs e) DataView dv = 彭博管理系统DataSet.学生信息表.DefaultView; dv.Sort = 学号; dv.RowFilter = 学号= + textBox1.Text.Trim() + ; dv.RowStateFilter = DataViewRowState.CurrentRows; dataGridView1.DataSource = dv; private voi
22、d button2_Click(object sender, EventArgs e) this.Close(); Form5:修改密码页面的源代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication2 public pa
23、rtial class Form5 : Form public Form5() InitializeComponent(); private void label5_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Trim() = | textBox2.Text.Trim() = | textBox3.Text.Trim() = | textBox4.Text.Trim() = ) MessageBox.Show(请填写完整信息!
24、, 错误提示); else C.Close(); C.Open(); string OleDb= select *from 密码表 where 用户名= + textBox1.Text.Trim() + and 密码= + textBox2.Text.Trim() + ; OleDbCommand cmd = new OleDbCommand(, C); cmd.CommandText = OleDb; if (cmd.ExecuteScalar() = null) MessageBox.Show(用户名或密码错误!, 错误提示); else if (textBox3.Text.Trim()
25、!= textBox4.Text.Trim() MessageBox.Show(新密码和确认密码不一致,请重新输入!, 错误提示); else OleDb = update 密码表 set 密码= + textBox3.Text.Trim() + where 用户名= + textBox1.Text.Trim() + ; cmd.CommandText = OleDb; cmd.ExecuteNonQuery(); C.Close(); this.Close(); MessageBox.Show(密码修改成功!, 成功提示); private void button2_Click(object
26、 sender, EventArgs e) private void Form5_Load(object sender, EventArgs e) textBox1.Focus(); private void button2_Click_1(object sender, EventArgs e) C.Close(); this.Close(); using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.
27、Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication2 public partial class Form6 : Form public Form6() InitializeComponent(); private void Form6_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“彭博管理系统DataSet.密码表”中。您可以根据需要移动或删除它。 this.密码
28、表TableAdapter.Fill(this.彭博管理系统DataSet.密码表); private void button1_Click(object sender, EventArgs e) this.Close(); Form10:成绩查询页面的源代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threadin
29、g.Tasks;using System.Windows.Forms;using System.Data.OleDb;namespace WindowsFormsApplication2 public partial class Form10 : Form public Form10() InitializeComponent(); private void Form10_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) private void button4_Cli
30、ck(object sender, EventArgs e) private void button4_Click_1(object sender, EventArgs e) private void Form10_Load_1(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“彭博管理系统DataSet.成绩表”中。您可以根据需要移动或删除它。 this.成绩表TableAdapter.Fill(this.彭博管理系统DataSet.成绩表); private void button4_Click_2(object sender, EventAr
31、gs e) Form2 a = new Form2(); a.Show(); this.Close(); private void button1_Click_1(object sender, EventArgs e) DataView dv = 彭博管理系统DataSet.成绩表.DefaultView; dv.Sort = 学号; dv.RowFilter = 学号= + textBox1.Text.Trim() + ; dv.RowStateFilter = DataViewRowState.CurrentRows; dataGridView1.DataSource = dv; priv
32、ate void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 从Form2到Form5,Form6,Form10,Form12的源代码:using System;using System.Data.OleDb;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using
33、System.Windows.Forms;namespace WindowsFormsApplication2 public partial class Form2 : Form public Form2() InitializeComponent(); private void Form2_Load(object sender, EventArgs e) this.toolStripStatusLabel5.Text = DateTime.Now.ToString(); private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) thi