C#与SQL数据库学生成绩管理系统完整代码_第1页
C#与SQL数据库学生成绩管理系统完整代码_第2页
C#与SQL数据库学生成绩管理系统完整代码_第3页
C#与SQL数据库学生成绩管理系统完整代码_第4页
C#与SQL数据库学生成绩管理系统完整代码_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术及应用项目设计报告学生成绩管理系统 姓名:Celia Yan 2015-01-07一设计目的及意义在如今的高校日常管理中,学生成绩管理系统是其中非常重要的一环,特别是当前学校规模不断扩大,学生人数日益增加,课程门类多,校区分散等实际情况,学生成绩统计功能越来越繁重,稍有疏忽就会出现差错。因此,学生成绩管理系统更具有非常大的实际应用意义。在互联网快速崛起的今天,改革传统的手工录入方式,公正,准确,及时反映学生的信息和成绩的情况,以适应信息时代的要求,是学生成绩管理系统的一个新的理念。通过成绩管理可以大大提高学校的工作效率。学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、

2、学生成绩的管理。通过学生成绩管理系统可以做到信息的规范管理,科学统计和快速查询、修改、增加、删除等,减少管理方面的工作量。二主要功能该系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。本系统主要包括注册管理、教师管理、学生信息查询、添加、修改、删除等部分。其主要功能有:(1) 学生信息的添加,包括输入学生基本信息和成绩。(2) 学生信息的查询,包括查询学生的基本信息和成绩。(3) 学生信息的修改,包括修改学生基本信息和成绩。

3、(4) 学生信息的删除,包括删除学生基本信息和成绩。(5) 登录用户密码修改,用户登录到系统可进行相应的用户密码修改。(6) 管理员用户对用户名的管理,包括添加新用户、删除用户。 学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。对于后者则要求应用程序功能完备,易使用。该管理系统我使用的是Microsoft Visual Studio 2012 及 Microsoft SQL Server 2008。系统功能流程图图 2.1 系统功能流程三数据库设计3.1本系统的数据库采用的是S

4、QL Server2008 。该数据库包括学生成绩表、用户登录表用于纪录学生的基本信息数据库表结构如下:成绩表物理结构图3.1图3.2用户登录表物理结构:图3.3图3.43.2触发器删除DLB中的记录时同时删除CJB中姓名相同的记录USE studentscoreGO/* Object: Trigger dbo.dlb_delete Script Date: 01/07/2015 12:42:17 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger dbo.dlb_deleteon dbo.dlb after deletea

5、sbegindeclare leib varchar(50) select leib='学生'from deleteddelete from cjb where 姓名 in (select 用户名 from deleted)End3.3数据库连接 string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING" SqlConnection conn = new SqlConnecti

6、on(constr); string sqlstr = "select * from cjb" SqlCommand cmd = new SqlCommand(sqlstr, conn); SqlDataReader reader = cmd.ExecuteReader(); DataSet ds = new DataSet(); while (reader.Read() string id = reader"学号".ToString(); string name = reader"姓名".ToString(); MessageBox

7、.Show(string.Format("id=0,name=1,学号,姓名"); 四系统实现 4.1.登录界面图4.1该界面是学生成绩管理系统的登录界面,可以选择作为学生,管理员或者教师身份登录。每一个进入系统的人都会看到当前的时间,在登录时只有用户名,密码,与身份相符合时才能进入系统,否则登录无法成功。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using

8、 System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class Form1 : Form static public string sn, sub; public Form1() InitializeComponent(); Form2 fr2 = new Form2(); Form3 fr3 = new Form3(); Form4 fr4 = new

9、Form4(); private void Form1_Load(object sender, EventArgs e) timer1.Start(); private void label1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Sou

10、rce=YANJING" SqlConnection conn = new SqlConnection(constr); conn.Open(); if (textname.Text = "" | textpassword.Text = "") MessageBox.Show("信息不全,请不要遗漏信息!"); if (rbtnmanager.Checked) string cstr = "select * from dlb where 类别='管理员' and 用户名='" +

11、textname.Text.Trim() + "'and 密码='" + textpassword.Text.Trim() + "'" SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() sn = textname.Text.Trim(); fr4.Show(); this.Visible = false; ; else MessageBox.Show("密码或用户名出错,

12、请重新输入!"); textname.Text = "" textpassword.Text = "" if (rbtnteacher.Checked) string cstr = "select * from dlb where 类别='教师' and 用户名='" + textname.Text.Trim() + "'and 密码='" + textpassword.Text.Trim() + "'" SqlCommand comm

13、= new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() sn = textname.Text.Trim(); sub = dr.GetValue(3).ToString(); fr3.Show(); this.Visible = false; else MessageBox.Show("密码或用户名出错,请重新输入!"); textname.Text = "" textpassword.Text = "" if (rbtn

14、student.Checked) string cstr = "select * from dlb where 类别='学生' and 用户名='" + textname.Text.Trim() + "'and 密码='" + textpassword.Text.Trim() + "'" SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read()

15、sn = textname.Text.Trim(); fr2.Show(); this.Visible = false; else MessageBox.Show("密码或用户名出错,请重新输入!"); textname.Text = "" textpassword.Text = "" conn.Close(); conn.Dispose(); private void button2_Click(object sender, EventArgs e) Application.Exit(); private void timer1_T

16、ick(object sender, EventArgs e) label4.Text = "当前时间:" + DateTime.Now.ToLongDateString() + "" + DateTime.Now.ToLongTimeString(); 4.2学生成绩管理图4.2设计过程: 此部分主要针对学生信息的管理,可以查询学生的所有成绩信息,实现成绩的添加、删除、修改、计算平均分等功能。还可以修改当前用户下的密码。 private void Form2_Load(object sender, EventArgs e) label1.Te

17、xt = Form1.sn + "同学,欢迎你进入成绩管理系统!" timer1.Start(); groupBox1.Visible = false; groupBox2.Visible = false; private void button1_Click(object sender, EventArgs e) private void button3_Click(object sender, EventArgs e) / string constr = "Password=null;Persist Security Info=True;User ID=BIN

18、IANDOUKOUadministrator;Initial Catalog=studentscore;Data Source=BINIANDOUKOUSQLEXPRESS" /SqlConnection conn = new SqlConnection(constr); /conn.Open(); /SqlDataAdapter da = new SqlDataAdapter("Select * from cjb where 姓名="+textBox1 .Text , conn); /DataSet ds = new DataSet(); /da.Fill(ds

19、, "usertable"); /dataGridView1.DataSource = ; private void toolStripButton1_Click(object sender, EventArgs e) dataGridView1.Visible = true; groupBox1.Visible = false; groupBox2.Visible = false; string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=stu

20、dentscore;Data Source=YANJING" SqlConnection conn = new SqlConnection(constr); conn.Open(); SqlDataAdapter da = new SqlDataAdapter("select * from cjb where 姓名='" + Form1.sn.Trim() + "'", conn);/-详细信息 DataSet ds = new DataSet(); da.Fill(ds, "usertable"); dat

21、aGridView1.DataSource = ds.Tables"usertable".DefaultView; conn.Close(); conn.Dispose(); private void toolStripButton2_Click(object sender, EventArgs e) private void toolStripButton4_Click(object sender, EventArgs e) groupBox1.Visible = true; private void button1_Click_1(object sender, Even

22、tArgs e) string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING" SqlConnection conn = new SqlConnection(constr); conn.Open(); if (textnpd.Text != textpassword.Text) MessageBox.Show("密码输入有误,请重新输入"); if (textnpd.Text

23、 = "" && textpassword.Text = "") MessageBox.Show("密码不允许为空!"); if (textnpd.Text=textpassword.Text && textnpd.Text !="") SqlCommand com = new SqlCommand("update dlb set 密码='" + textpassword.Text.Trim() + "'where 用户名='&q

24、uot; + Form1.sn.Trim() + "'", conn); if (com.ExecuteNonQuery() = 1) MessageBox.Show("密码更改成功"); groupBox1.Visible = false; conn.Close(); conn.Dispose(); private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) private void toolStripButton5_Click(

25、object sender, EventArgs e) this.Close(); Form1 l = new Form1(); l.Visible = true; private void toolStripButton6_Click(object sender, EventArgs e) / string constr = "Password=null;Persist Security Info=True;User ID=BINIANDOUKOUadministrator;Initial Catalog=studentscore;Data Source=BINIANDOUKOUS

26、QLEXPRESS" /SqlConnection conn = new SqlConnection(constr); /conn.Open(); /SqlDataAdapter da = new SqlDataAdapter("Select * from cjb where 姓名="+textBox1 .Text , conn); /DataSet ds = new DataSet(); /da.Fill(ds, "usertable"); /string s; /for(int i=2;i <=6;i+) / / if (int.Pa

27、rse(ds.Tables"usertable".Rows0i.ToString() <60) / s=int.Parse(ds.Tables"usertable".Rows0i.ToString(); / private void groupBox2_Enter(object sender, EventArgs e) dataGridView1.Visible = false; groupBox1.Visible = false; private void toolStripButton3_Click(object sender, EventAr

28、gs e) groupBox2 .Visible=true; string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING" SqlConnection conn = new SqlConnection(constr); conn.Open(); SqlDataAdapter da = new SqlDataAdapter("Select * from cjb where 姓名='

29、;"+Form1 .sn .Trim ()+"'" , conn); DataSet ds = new DataSet(); da.Fill(ds, "usertable"); int max=0,min=1001; double ave = 0.0; for(int i=2;i <=6;i+) if(int.Parse(ds.Tables"usertable".Rows0i.ToString()>max) max=int.Parse(ds.Tables"usertable".Rows

30、0i.ToString(); if (int.Parse(ds.Tables"usertable".Rows0i.ToString()<min ) min=int.Parse(ds.Tables"usertable".Rows0i.ToString(); txthscore.Text=max.ToString(); txtlscore.Text=min.ToString(); txtall.Text=ds.Tables"usertable".Rows0"总分".ToString(); ave=int.Pars

31、e(ds.Tables"usertable".Rows0"总分".ToString()/(double)5; txtave.Text=ave.ToString(); conn.Close();conn.Dispose(); private void timer1_Tick(object sender, EventArgs e) label2.Text="当前时间:"+DateTime.Now.ToLongDateString()+DateTime.Now.ToLongTimeString(); 4.3教师管理界面 图4.3设计过程:&

32、#160;此部分主要针对教师信息管理,可以查询学生的所有成绩信息,实现成绩的添加、删除、修改、成绩升序排序等功能。还可以修改当前用户下的密码。private void button1_Click(object sender, EventArgs e) /查找 string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING" SqlConnection conn= new SqlConnection(

33、constr); conn.Open(); if (comboBox1.Text="学号") SqlCommand cm=new SqlCommand("select 学号,"+Form1 .sub + "from cjb where 学号='"+ textBox1.Text+"'",conn ); if (cm.ExecuteScalar ()=null)MessageBox.Show("用户名不存在"); else SqlDataAdapter da =new SqlData

34、Adapter("select 学号,"+Form1.sub+" from cjb where 学号='"+textBox1.Text+"'",conn); DataSet ds =new DataSet(); da.Fill (ds ,"chaxun"); dataGridView1.DataSource=ds.Tables"chaxun".DefaultView; if (comboBox1.Text="姓名") SqlCommand cm=new Sql

35、Command("select 姓名," + Form1.sub + "from cjb where 姓名='" + textBox1.Text+"'",conn ); if (cm.ExecuteScalar()=null)MessageBox.Show("该用户不存在"); else SqlDataAdapter da = new SqlDataAdapter("select 姓名,"+Form1.sub + " from cjb where 姓名='&qu

36、ot; + textBox1.Text + "'",conn ); DataSet ds = new DataSet(); da.Fill (ds,"table"); dataGridView1.DataSource=ds.Tables"table".DefaultView; conn.Close();conn.Dispose(); private void textBox1_TextChanged(object sender, EventArgs e) private void toolStripButton2_Click(

37、object sender, EventArgs e) /查找 groupBox3 .Visible =false ; groupBox1.Enabled = true; groupBox2.Enabled = false; private void toolStripButton1_Click(object sender, EventArgs e) /所有成绩 groupBox3.Visible = true; string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalo

38、g=studentscore;Data Source=YANJING" SqlConnection conn = new SqlConnection(constr); conn.Open(); SqlDataAdapter da = new SqlDataAdapter("select 学号,姓名," + Form1.sub + " from cjb ",conn); DataSet ds = new DataSet(); da.Fill(ds, "table"); dataGridView1 .DataSource =ds

39、.Tables "table".DefaultView; conn.Close ();conn .Dispose(); private void button2_Click(object sender, EventArgs e) /修改成绩 string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING" SqlConnection conn = new SqlConnectio

40、n(constr); conn.Open(); SqlCommand com = new SqlCommand("update cjb set " + Form1.sub + "='" + textBox3.Text + "'where 姓名 ='" + textBox4.Text + "'", conn); if (com.ExecuteNonQuery() = 1) MessageBox.Show("修改成功"); else MessageBox.Show(&

41、quot;信息有误,请重新输入"); conn.Close(); conn.Dispose(); private void toolStripButton3_Click(object sender, EventArgs e) /修改学生成绩 groupBox3 .Visible =false ; groupBox2.Enabled = true; groupBox1.Enabled = false; groupBox3.Visible = false; private void textBox3_TextChanged(object sender, EventArgs e) priv

42、ate void groupBox2_Enter(object sender, EventArgs e) private void button3_Click(object sender, EventArgs e) /确认修改密码 string constr = "Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING" SqlConnection conn = new SqlConnection(constr); conn

43、.Open(); if (txtnpd.Text != txtnpassword.Text) MessageBox.Show("两次输入密码不一致,请重新输入"); if (txtnpd.Text = "" && txtnpassword.Text = "") MessageBox.Show("密码不允许为空,请输入密码"); if (txtnpd.Text = txtnpassword.Text && txtnpd.Text != "") SqlCommand

44、com = new SqlCommand("update dlb set 密码='" + txtnpassword.Text.Trim() + "'where 用户名='" + Form1.sn.Trim() + "'", conn); if (com.ExecuteNonQuery() = 1) MessageBox.Show("密码更改成功"); groupBox1.Visible = true; conn.Close(); conn.Dispose(); private voi

45、d toolStripButton5_Click(object sender, EventArgs e) groupBox4.Visible = true; groupBox3.Visible = true; dataGridView1.Visible = false; private void toolStripButton4_Click(object sender, EventArgs e) /升序排序 groupBox3.Visible = true; string constr = "Password=617804;Persist Security Info=True;Use

46、r ID=ywj;Initial Catalog=studentscore;Data Source=YANJING" SqlConnection conn = new SqlConnection(constr); conn.Open(); SqlDataAdapter da = new SqlDataAdapter("select 学号,姓名," + Form1.sub + " from cjb order by " + Form1.sub + " desc ", conn); DataSet ds = new DataSe

47、t(); da.Fill(ds, "table"); dataGridView1.DataSource = ds.Tables"table".DefaultView; conn.Close(); conn.Dispose(); private void toolStripButton6_Click(object sender, EventArgs e) this.Close(); Form1 l = new Form1(); l.Visible = true; private void timer1_Tick(object sender, EventAr

48、gs e) label8.Text = "当前时间:" + DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString(); 4.4管理员管理界面 图4.4设计过程: 此部分主要针对管理员的,可以添加和删除所有用户的账号和密码。 private void Form4_Load(object sender, EventArgs e) timer1.Start(); label1.Text = Form1.sn + "管理员,欢迎进入成绩管理系统!" groupBox2.Enabled = false; private void label1_Click(object sender, EventArgs e) private void radio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论