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

下载本文档

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

文档简介

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

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

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

4、统功能流程图 图2.1 系统功能流程 三. 数据库设计 3.1本系统的数据库采用的是 SQL Server2008 。该数据库包括学生成绩表、用户登录 表用于纪录学生的基本信息数据库表结构如下: 成绩表物理结构 p DELL4-330342SQLE.ntfiCore dboxjb* 列名 数据类型 哀许Nui值 学号 char(10) |H| 姓名 |而饷 B 计算机同缩 m 口 教据库实用教程 rt 面向对象程序设计 E n 高数 r.t n 英语 B 总分 ht 回 学生成绩管理系统 教师管理系统 登录管理员系统 图3.1 口结果上消息 学号姓名计算机网络融携库买用教程响寸象程序设讦高藏卖

5、语总分 1 2 季二 即 B2 53 78 96 a 2 3 李三 45 2 7B S9 38 Q 3 1 李一 E5 63 7G 6S 62 0 4 65 52 &3 45 就 0 5 4 刘四 2 78 S9 82 63 foi HI II I 5 姬 75 S4 94 K 75 0 7 7 区B2 S5 31 就 的 0 8 弓RA 63 32 81 87 78 c 图3.2 用户登录表物理结构: DELL4-330S42SQLE.ntscore dbo.dlb 列名 教据类型 允许Null用户名 varcharO) n 密码 var:har(50) B 甥 varchar(50

6、) 卜科目 I vane har(5O) 1 0 图3.3 口滁_!消息 用户名 密码 科目 1 1234567B 计算机网络 2 屈颤 23456789 颇 故锯犀实用勒强 2 育思英 G121M2S 英语 A 曜平 1235fi7B9 颇 面闻勺象程庠律肝 s 李一 1234567B 学生 6 孚二 D0DM000 字生 S 1 1 _ _ _.J 7 李三 3G07Q7QQ 学生 8 制四 030W200 学生 9 D55600CM 学生 10 泌1 oeowiM 学生 11 区七 09140000 宇生 12 张川 BOOTOO&a 学生 13 弓时L (K0CW9Q 管理员

7、14 碰 2DDSOOOO ISA 15 a 瞄oa 官理员 图3.4 3.2触发器 删除DLB中的记录时同时删除 CJB中姓名相同的记录 USEstudentscore GO /* Object: Trigger dbo.dlb_delete Script Date: 01/07/2015 12:42:17 */ SETANSI_NULLSON GO SETQUOTED_IDENTIFIERON GO ALTERtrigger dbo .dlb_delete on dbo .dlb after delete as begin declare leib varchar(50) select l

8、eib=学生from deleted delete from cjb where 姓名 in (select 用户名 from deleted) End 3.3数据库连接 string constr = Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING” ; | SqlConnection conn = new SqlConnection (constr); string sqlstr = select * from cjb ; SqlC

9、ommanotmd = new SqlCommandsqlstr, conn); SqlDataReader reader = cmd.ExecuteReader(); DataSet ds = new DataSet (); while (reader.Read() ( string id = reader学号.ToString(); string name = reader姓名.ToString(); MessageBoxShow(string .Format( id=0,name=1, 学号,姓名”); ) 四. 系统实现 4.1.登录界面 图4.1 该界面是学生成绩管理系统的登录界面,

10、 可以选择作为学生,管理员或者教师身份登录。 每一个进入系统的人都会看到当前的时间, 在登录时只有用户名, 密码,与身份相符合时才 能进入系统,否则登录无法成功。 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; usin

11、g 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 Form4(); private void Form1_Load( object sender, EventArgs e) ( timer1.S

12、tart(); 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 Source=YANJING ; SqlConnection conn = new SqlConnection (constr); conn.O

13、pen(); if (textname.Text = | textpassword.Text = ) MessageBoxShow(信息不全,请不要遗漏信息! ); | if (rbtnmanager.Checked) ( string cstr = select * from dlb where 类别=管理员and 用户名 =+ textname.Text.Trim() + and 密码=+ textpassword.Text.Trim() + ; SqlCommancfcomm = new SqlCommandcstr, conn); SqlDataReader dr = comm.Exe

14、cuteReader(); if (dr.Read() ( sn = textname.Text.Trim(); fr4.Show(); this .Visible = false : ; e ( lse MessageBoxShow(笞码或用户名出错,请重新输入! ); textname.Text = ; textpassword.Text = ; if (rbtnteacher.Checked) ( string cstr = select * from dlb where 类别=教师and 用户名= + textname.Text.Trim() + and 密码=+ textpasswo

15、rd.Text.Trim() + ; SqlCommancfcomm = new SqlCommandcstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() (sn = textname.Text.Trim(); sub = dr.GetValue(3).ToString(); fr3.Show(); this .Visible = false ; else MessageBoxShow(密码或用户名出错,请重新输入! ); textname.Text = ; textpassword.Text = ; if (r

16、btnstudent.Checked) string cstr = select * from dlb where 类别=学生and 用户名= + textname.Text.Trim() + and 密码=+ textpassword.Text.Trim() + ; SqlCommancComm = new SqlCommandcstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() sn = textname.Text.Trim(); fr2.Show(); this .Visible = false ; els

17、e MessageBoxShow(密码或用户名出错,请重新输入! ); textname.Text = ; textpassword.Text = ; conn.Close(); conn.Dispose(); private void button2 Click( object sender, EventArgs e) Application .Exit(); | private void timer1 Tick( object sender, EventArgs e) label4.Text = ”当前时间:+ DateTime .Now.ToLongDateString() + + Da

18、teTime .Now.ToLongTimeString(); 4.2学生成绩管理 心 Form2 详汨信息分数修改密码逗出 李二同学,欢迎你进入成绩管理系乡 当前时间:2015年1月7日11:03:46 图4.2 设计过程: 此部分主要针对学生信息的管理, 可以查询学生的所有成绩信息,实现成绩的添加、删 除、修改、计算平均分等功能。还可以修改当前用户下的密码。 private void Form2 Load( object sender, EventArgs e) labell.Text = timer1.Start(); groupBox1.Visible = groupBox2.Visi

19、ble = 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=BINIANDOUKOUadministrator;Initial Catalog=studentscore;Data Source=BINIANDOUKOUSQLEXPRESS”; /SqlConnection conn =

20、 new SqlConnection(constr); Form1.sn + ”同学,欢迎你进入成绩管理系统! false false /conn.Open(); /SqlDataAdapter da = new SqlDataAdapter(Select * from cjb where 姓 名=+textBox1 .Text , conn); /DataSet ds = new DataSet(); /da.Fill(ds, usertable); /dataGridView1.DataSource =; private void toolStripButton1_Click( objec

21、t 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=studentscore;Data Source=YANJING ; SqlConnection conn = new SqlConnection (constr); conn.Open(); SqlD

22、ataAdapter da = new SqlDataAdapter (select * from cjb where 姓名 =+ Form1.sn.Trim() + , , conn); /- 详细信息 DataSet ds = new DataSet (); da.Fill(ds, usertable); dataGridViewl.DataSource = ds.Tables usertable .DefaultView; conn.Close(); conn.Dispose(); private void toolStripButton2 Click( object sender, E

23、ventArgs e) ( private void toolStripButton4 Click( object sender, EventArgs e) ( groupBox1.Visible = true ; private void button1_Click_1( object sender, EventArgs e) ( string constr = Password=617804;Persist Security Info=True;User ID=ywj;Initial Catalog=studentscore;Data Source=YANJING ; SqlConnect

24、ion conn = new SqlConnection (constr); conn.Open(); if (textnpd.Text != textpassword.Text) ( MessageBoxShow(密码输入有 误,请重新输入); if (textnpd.Text = & textpassword.Text = ) ( MessageBoxShow( 密码不允许为空! ); if (textnpd.Text=textpassword.Text & textnpd.Text != ) ( SqlCommancfcom = new SqlCommand update

25、 dlb set 密码=+ textpassword.Text.Trim() + where 用户名=+ Form1.sn.Trim() + ”,conn); if (com.ExecuteNonQuery() = 1) ( MessageBoxShow(密码更改成功);groupBox1.Visible = false ; conn.Close(); conn.Dispose(); private void dataGridView1_CellContentClick( object sender, DataGridViewCe llE ventArgs e) ( private void

26、toolStripButton5_Click( 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;

27、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, usertable); /string s; /for(int i=2;i =6;i+) /( / if (int.Parse(d

28、s.Tablesusertable.Rows0i.ToString() 60) / s=int.Parse(ds.Tablesusertable.Rows0i.ToString(); / private void groupBox2_Enter( object sender, EventArgs e) ( dataGridView1.Visible = false ; groupBox1.Visible = false private void toolStripButton3_Click( object sender, EventArgs e) ( groupBox2 .Visible= t

29、rue ; 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 姓名 =+Form1 .sn .Trim ()+ ”m , conn); DataSet d

30、s = new DataSet (); da.Fill(ds, usertable); int max=0,min=1001; double ave = 0.0; for (int i=2;i max) max=nt .Parse(ds.Tables usertable .Rows0i.ToString(); if (int .Parse(ds.Tables usertable .Rows0i.ToString()min ) min=int .Parse(ds.Tables usertable .Rows0i.ToString(); I txthscore.Text=max.ToString(

31、); txtlscore.Text=min.ToString(); txtall.Text=ds.Tables usertable .Rows0总分.ToString(); ave= int .Parse(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

32、 .Now.ToLongDateString()+ DateTime.Now.ToLongTimeString(); 4.3教师管理界面 设计过程: 此部分主要针对教师信息管理, 可以查询学生的所有成绩信息,实现成绩的添加、 删除、修 改、成绩升序排序等功能。还可以修改当前用户下的密码。 private void button1 Click( object sender, EventArgs e) /查找 string constr = Password=617804;Persist Security Info=True;User 5 SqlConnection conn= new SqlCo

33、nnection (constr); conn.Open(); if (comboBox1.Text=学号) SqlCommandcm=newSqlCommand select 学号,+Form1 .sub + from cjb where 学号=+ textBox1.Text+ ,conn ); if (cm.ExecuteScalar ()= null ) MessageBoxShow(用户名不存在”); else SqlDataAdapter da = new SqlDataAdapter (select 学 号,+Form1.sub+ from cjb where 学号=+textBo

34、x1.Text+ID=ywj;Initial Catalog=studentscore;Data Source=YANJING” ,conn); 图4.3 DataSet ds = new DataSet (); da.Fill (ds , chaxun); dataGridView1.DataSource=ds.Tables chaxun .DefaultView; if (comboBox1.Text=姓名) SqlCommanccm=new SqlCommand select 姓名,+ Form1.sub + from cjb where 姓名=+ textBox1.Text+ ,con

35、n ); if (cm.ExecuteScalar()= null ) MessageBoxShow(该用户不存在); else SqlDataAdapter da = new SqlDataAdapter (select 姓 名,+Form1.sub + from cjb where 姓名=+ textBox1.Text + ,conn ); DataSet ds = new DataSet (); da.Fill (ds, table); dataGridView1.DataSource=ds.Tables table .DefaultView; conn.Close();conn.Dis

36、pose(); private void textBox1_TextChanged( object sender, EventArgs e) private void toolStripButton2 Click( object sender, EventArgs e) / 查找 .Visible =false ; groupBox1.Enabled = true ; groupBox2.Enabled =false ; 所有成绩 groupBox3.Visible = true ; string constr = Password=617804;Persist Security Info=T

37、rue;User ID=ywj;Initial Catalog=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 (); dataGridViewl .DataSource =ds.Tables table .DefaultView; con

38、n.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 ; groupBox3 private void toolStripButton1 Click( object sender, EventArgs e) / da.Fill(ds

39、, table); SqlConnection conn = new SqlConnection (constr); conn.Open(); SqlCommandcom = new SqlCommand update cjb set + Form1.sub + = + textBox3.Text + where 姓名=+ textBox4.Text + , conn); if (com.ExecuteNonQuery() = 1) MessageBoxShow(修改成功); else MessageBoxShow(信息有误,请重新输入 ); conn.Close(); conn.Dispos

40、e(); 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) private void groupBox2_Enter( object sender,

41、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.Open(); if (txtnpd.Text != txtnpassword.Text)

42、MessageBoxShow(两次输入密 码不一致,请重新输入); if (txtnpd.Text = & txtnpassword.Text = ) MessageBoxShow( 密码不允许为空,请输入密码 ); if (txtnpd.Text = txtnpassword.Text & txtnpd.Text != ) ( SqlCommancfcom = new SqlCommand update dlb set 密码= + txtnpassword.Text.Trim() + where 用户名=+ Form1.sn.Trim() + , conn); if (com

43、.ExecuteNonQuery() = 1) ( MessageBoxShow(密码更改成功);groupBox1.Visible = true ; conn.Close(); conn.Dispose(); private void toolStripButton5_Click( object sender, EventArgs e) ( groupBox4.Visible = true ; groupBox3.Visible = true ; dataGridView1.Visible = false ; private void toolStripButton4_Click( obje

44、ct sender, EventArgs e) / 升序排序 ( groupBox3.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 学号,姓名,+ F

45、orm1.sub + from cjb order by + Form1.sub + desc , conn); DataSet ds = new DataSet (); 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();

46、l.Visible = true ; _ private void timer1_Tick( object sender, EventArgs e) ( label8.Text = 当前时间:+ DateTime .Now.ToLongDateString() + DateTime .Now.ToLongTimeString(); 4.4管理员管理界面 图4.4 设计过程: 此部分主要针对管理员的,可以添加和删除所有用户的账号和密码。 private void Form4_Load( object sender, EventArgs e) ( timer1.Start(); label1.Te

47、xt = Form1.sn + ”管理员,欢迎进入成绩管理系统! ; groupBox2.Enabled = false ; private void label1 Click( object sender, EventArgs e) private void radioButton1_CheckedChanged( object sender, EventArgs e) ( if (radioButton1.Checked) ( groupBox2.Enabled = true ; txtkm.Enabled = true ; private void radioButton2 Checke

48、dChanged( object sender, EventArgs e) ( if (radioButton2.Checked) ( groupBox2.Enabled = true ; txtkm.Enabled = false ; private void txtyhm_TextChanged( object sender, EventArgs e) private void button2_Click( object sender, EventArgs e) ( txtkm.Text = txtmm.Text = txtyhm.Text = private void button3 C

49、lick( object sender, EventArgs e) ( this .Close(); Form1 l = new Form1(); l.Visible = true private void label5_Click( object sender, EventArgs e) ( private void timer1 Tick( object sender, EventArgs e) ( label5.Text = ”当前时间:+ DateTime.Now.ToLongDateString() + DateTime .Now.ToShortTimeString(); priva

50、te 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 (constr); conn.Open(); if (radioButton1 .Checked ) ( System. Console .Out.WriteLine(); if (txtyhm .Text != &txtmm .Text != & txtkm .Text != ) ( SqlCommancfcom = new SqlCommand( select * from dlb where 用户名 =+ txtyhm .Text .Trim ()+ ,conn); if (com.ExecuteScalar () != null ) ( MessageBox .Show (用户已存在 ); else ( SqlCommandcm =

温馨提示

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

评论

0/150

提交评论