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

下载本文档

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

文档简介

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

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

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

4、据库采用的是sql server2008 o该数据库包括学生成绩表、用户登录表用于纪录学生的基本信息数据库表结构如下:成绩表物理结构dell4-330342sqle.ntscore - dbo.cjb*|列名数据类型允许null值学号char(10)门姓名char(lo)计算机网络数掳库实用教程 面向对象程序设计 高数英语intintintintint总分int 图3. 1二结果消息学号姓名计算机网络数据库实用教程面向对象程序设计高数英语总分12李二80625978%023李三4562786938031李_8563766962046文惻8562634559054刘四8278698263p丨65

5、刘五7564849275077区七8285818689088张八63828187780图3.2用八登录表物理结构:/dell4-330342sqle.ntscore dbo.dlb列名数据类型允许null值用户名varchar(50)密码varchar(50)类别varchar(50)科目j varchar(50)_ 图3.3用户名密码科目1江兵12345678计算机网络2屈智成23456789数損库实用教程3胥思英61239828英语4杜雪平12356789面向对象程序设计5李_12345678学生6李二00000000学生7李三360 兀 700学生8刘四03040200学生9刘五0556

6、0000学生10刘刘06004300学生11区七09140000学生12张八80070060学生13张九0600009014成成2005000015成新00100800劃里员图3.43. 2触发器删除dlb中的记录时同时删除cjb中姓名相同的记录use studentscorego/* object: trigger dbo.dlb_deletescript date: 01/0血015 12:42:17 */setansi_nullsongoset quoteddentifier ongoalter trigger dbo.dlb_deleteon dbo.dlb after deletea

7、sbegindeclare leib varchar(50)select leib学生'from deleteddelete from cjbwhere 姓名 in (select 用户名 from deleted)end3. 3数据库连接string constr 二"password二617804;persist security tnfo=true;user td=ywj;tnitialcata1og二studentscore;data source=yanjing"sqlconncction conn = new sqlconncction(constr);

8、string sqlstr = "select * from cjb"sqlcommand emd 二 new sq1command(sqlstr, conn);sqldatareader reader 二 emdexecutereader();dataset ds = new dataset();while (reader. read()string id 二 reader"学号".tostring();string name = reader,z姓名/z. tostringo ;messagcbox. show (string. format (,z

9、i d= (0), name=l,学号,姓名");四.系统实现4.1 登录界面图4. 1该界面是学生成绩管理系统的登录界面,可以选择作为学生,管理员或者教师身份登录。每一个进入系统的人都会看到当前的时间,在登录时只有用户名,密码,与身份相符合时才 能进入系统,否则登录无法成功。using system;using system. collections. generic;using system componcntmodel;using system. data;using system. drawing;using system. linq;using system. text;u

10、sing system. threading. tasks;using system. windows. forms;using system.data.sqlclient;namespace windowsformsapp1ication1public partial class forml : form static public string sn, sub; public forml()initializecomponent ();form2 fr2 = now form2() ; eorm3 fr3 = new form3 () ; form4 fr4 = now eorm4();p

11、rivate void forml load(object sender, eventargs e)timerl. start ();private void label1 click (object sender, eventargs e)private void buttonl_c1ick(object sender, evenlargs e)string constr = /zpassword=617804;persist security info二true;user id=ywj;initial catalog=studentscore;data source二yanjing&quo

12、t;sqlconneelion conn = new sqlconneelion(constr);corm. open ();if (textname. text 二二"” | textpassword .text = “")messagebox. show (”信息不全,请不要遗漏信息! “);if (rbtnmanager. checked)string cstr = "select * from dlb whore 类别二'管理员'and 用户名 二'"+ text name. text. trim () + "&

13、#39;a nd 密码二'"+ textpassword. text. trim() +sq1 command comm = new sqlcommand(cstr, corm);sqldatareader dr = comm. executereader ();if (dr. read ()sn = textname. text. trim() ; fr4 show() ; this. visible = false;9elsemessagebox. showc密码或用户名出错,请重新输入! ”);textname. text 二textpassword. text 二&q

14、uot;“;i f (rbtntcacher. checked)string cstr = "select * from dlb where 类别二'教师'and 用户名二'"+ t extname. tex t.triino + "'and 密码二'"+ textpassword. tex t. trimo +sql comma nd conim 二 new sql command (cstr, conn);sqldatareader dr = comm. executercader ();if (dr. rea

15、d()sn = text name text. trim(); sub = dr. getvalue (3 ) tostr in g();fr3show(); this. visible = false;elsemessagebox. showc密码或用户名出错,请重新输入! ”); textname. text 二 “;textpassword. text = “;i f (rbtnstudcnt, checked)string cstr = "select * from dlb where 类别二'学生'and 用户名二'" + t extnam

16、e. tex t.triino + "'and 密码二'"+ textpassword. tex t. trimo +sqlcommand conim = new sqlcominanckcstr, conn);sqldatareader dr = commexccutereader ();if (dr. read()sn = textname. text.trim(); fr2. show() ; this. visible = false;elsemessagebox. show("密码或用户名出错,请重新输入! “); textname- t

17、ext = “"; textpassword. text 二“";conn. close () ; conn. dispose ();private void button2 click (object sender, eventargs e) application. exit ();private void timerl_tick(object sender, eventargs e)label4. text = 当前时间:datetime. now. tolongtimestring();+ datetime. now tol“ongdatcstring() +4.

18、2学生成绩管理图4. 2设计过程:此部分主要针对学生信息的管理,可以查询学生的所有成绩信息,实现成绩的添加、删除、修改、计算平均分等功能°还可以修改当前用户下的密码。private void form2 load(object sender, eventargs e)label 1. text二forml. sn + 同学,欢迎你进入成绩管理系统! ”;timerl. start ();groupboxl.visible = false;groupbox2visible = false;private void buttonl_click(object sender, eventar

19、gs e) private void button3_click(object sendet, eventargs e)/ string constr = "password二null;persist security info二true;usert d=b tniand0uk0uadm i n i s t rat or;initial catalog二studentscore;datasource 二 biniandoukouwsqlexpress”;/sqlconnection conn 二 new sqlconnection(constr);/conn open ();/sql

20、dataadapter da = new sqldataadapter('"select * from cjb where 姓 名二+textboxl text , conn);/dataset ds = new dataset ();/da. fill (ds, "usertable"); /datagridview1. datasource =;private void toolstripbuttonl_click(object sender, eventargs e)datagridview1visible = true; groupbox1visi

21、ble = false; groupbox2 .visible = false;string constr = "password二617804;persist security tnfo二true;userid二ywj;initial catalog二studentscore;data source二yanjing"sqlconnection corm 二 new sqlconnection(constr);conn. open ();sqldataadapter da = new sqldatsadapter("select * from cjb where

22、姓名 二'"+ forml. sn. trim() +conn) ;/详细信息dataset ds 二 new dataset();da. fill (ds, "usertable");datagridview1 datasource = ds tab les"usertab defaultview; conn. close () ; conn. dispose ();private void toolstripbutton2_click(object sender, eventargs e) private void tool stri pbu

23、tton4 click (object sender, eventargs e)groupboxl.visible = true;private void buttonl click 1 (object sender, eventargs e)string constr = "password二617804;persist security info二true;user id=ywj;initial catalog=studentscore;data source二yanjing"sqlconnoction conn = new sqlconneelion(constr);

24、corm. open ();i f (textnpd. text != textpassword. text) messagebox. show(“密码输入有误,请重新输入);if (textnpd. text = "" && textpassword. text = "“) messagebox. show(" 密码不允许为空! ); if (textnpd. text二二textpassword. text && textnpd. text !二“")sq 1 comma nd com = new sq 1

25、comma nd("update dlb set 密码"+ textpassword. text. trim() + "'where 用户名二+ forml. s n. trim() +conn);if (com. executenonquery () = 1)messagebox. show("密码更改成功“);groupboxl. visible = false;conn. close (); conn .dispose。;private void datagridviewl cellcontentclick(object sender,da

26、tagridviewcel1 eventargs e)private void toolstripbutton5_click(object sender, eventargs c)this.close(); forml 1 = new forml(); 1. visible = true;private void toolstripbutton6_click(object sender, evenla厂gs c)/ string constr = password二null;pe:rsist security info二true;user id=btniandoukouadministrato

27、r;initial catalog二studentscore;datasource 二 biniandoukouwsqlexpress"/sqlconnection conn 二 new sqlconnection(constr);/conn. open ();/sqldataadapter da = new sqldataadapter(''select * from cjb where 姓 名二"+tex tboxl . tex t , conn);/dataset ds = new dataset();/da. fill (ds, "user

28、table");/string s;/for(int i=2;i <=6;i+)/ if (int. parse(ds. tables"usertable". rows0i tostring() <60)/ s=int. parse(ds. tables"usertable". rows0i. tostring();/private void groupbox2_enter(object sender, evenlargs c)datagridviewl. visible = false; groupbox1. visible =

29、false;private void toolstripbutton3_click(object sender, evenla厂gs c)groupbox2 .visible二true;string constr = ,zpassword=617804;persist security info=true;user ld=ywj;initial catalog=studentscore;data source二yanjing"sqlconneelion conn 二 new sqlconneelion(constr);conn. open ();sqldataadapter da =

30、 new sqldataadapter("select * from cjb where 姓名 =,z+forml 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. tostringo)>max)m

31、ax=int. parse (ds. tables "usertable". rows0 i. tostringo);if(in t. parse (ds. tables "usertable". rows 0 i. tostringo) <mi n )mirfint. parse(ds. tables"usertable". rows0i. tostring();txthscore. text二max. tostring();txtlscore. text=min.tostring();txtal 1. text 二 ds.

32、tables "usertable". rows 0“ 总分".tostringo ;ave=int. parse (ds. tables ,usertable,l. rows 0"总分tostringo)/(double)5;txtave. text二ave. tostring();conn. closeo ;conn. dispose。;private void timerl tick(object sender, eventargs e)label2. text二"当前时间:,+datetime. now. tolongdatestrin

33、g()+datctimc. now. tolongtimcstring();4. 3教师管理界面图4. 3设计过程:此部分主要针对教师信息管理,可以查询学生的所有成绩信息,实现成绩的添加、删除、修 改、成绩升序排序等功能。还可以修改当前用户下的密码。private void buttonl_click(object sender, eventargs e) /查找string constr = z,password=617804;persist security info二true;userid=ywj ; initial catalog二studentscore;data source=ya

34、njing,z;sqlco rm ection conn二 new sqlco rm ection(constr);conn. open ();if (comboboxl. text二二"学号")sql comma nd cm=new sql comma nd ("select 学号,z+forml . sub + "from c jb where 学号二'"+ textboxl. text+"' ”,conn );if (cm. executescalar ()=null) messagebox. show(zr用户

35、名不存在);elsesqldataadapter da 二new sqldataaclapter(''select 学 号,+forml. sub+ from cjb where 学号二'+textboxl. text+ "、conn);dataset ds 二new dataset();da. fill (ds , "chaxun"); datagridviewl. datasource=ds. tables,zchaxun,z. defaultview;if (comboboxl. text=,'姓名)sq1 command c

36、nfnew sqlcommand(select 姓名, + forml. sub + "from cjb where 姓名二'"+ textboxl. text+"'", conn );if (cm. executescalar () =nul 1) messagebox. show(/z该用户不存在"); elsesqldataadapter da = new sqldataadapter(select 姓名,,/+forml. sub + " from cjb where 姓名二'"+ textb

37、oxl. text + conn );dataset ds = new dataset ();da. fill (ds, "table");datagridviewl. datasource=ds tables"table" defaultview;conn. close() ; conn. dispose ();private void textboxl textchanged(object sender, eventargs e)private void toolstripbutton2_click(object sender, eventargs

38、e) /查找 groupbox3 visible =false ; groupboxl. enabled = true; groupbox2. enabled =false;private void toolstripbuttonl_click(object sender, eventargs e) / 所有成绩groupbox3.visible = true;string constr =,zpassword=617804;persist security info二true;userid=ywj;initial catalog=studcntscore;data source二yanjin

39、g"sqlcormection conn 二 new sqlconnecti()n(constr);conn. open ();sqldataadapter da = new sqldataadapter (''select 学号,姓名,"+ forml. sub + “ from cjb "、 conn);dataset ds = new dataset (); da. fill (ds, "table");datagridviewl . datasource =ds.tables ,ztablo,z. dcfaultview

40、; conn. close () ;conn dispose ();private void button2_click(object sender, eventargs e)/修改成绩str ing con str = z,pas swor d=617804; pers i s t secur i ty info=truc;uscr id=ywj ; initial catalog=studer)tscore;data source=yanjing,z;sqlcormection conn 二 new sqlconnect!on(constr); conn. open ();sqlcomma

41、nd com = new sqlconimand (''update cjb set " + forml. sub +"+ textbox3. text + ,z,where 姓名二'"+ textbox4. text + conn);if (com. executenonquery () = 1) messagebox. show(,z修改成功);elsemessagebox. show("信息有误,请重新输入); conn. close() ; conn. disposeo ;private void toolstripbut

42、ton3_click(object sender, eventargs e) /修改 学生成绩groupbox3 visible =false ; groupbox2enabled = true;groupbox1enabled = false; groupbox3.visible = false;private void textbox3 textchanged (object sender, eventargs e) private void groupbox2_enter(object sender, eventargs e) private void button3 click (ob

43、ject sender, eventargs e) /确认修改密码string constr = "password二617804;persist security info二true;user id=ywj;initial catalog=studcntscore;data source二yanjing"sqlcormection conn 二 new sqlconnecti()n(constr);conn. open ();if (txtnpd. text != txtnpassword. text) messagebox. show(,z两次输入密 码不一致,请重新输

44、入);if (txt npd. text = ”" && txt npassword .text = “) messagebox. show(zz 密码不允许为空,请输入密码);if (txtnpd.text = txtnpassword. text && txtnpd.text !二“)sql comma nd com = new sql comma nd ("update dlb set 密码二' +txtnpassword. text. trim() + /z,where 用户名二+ forml. sn. trimo +conn

45、);if (com. executenonquery () = 1)messagebox. show(“密码更改成功“);groupboxl. visible = true; conn. closeo ; conn. dispose();private void toolstripbutton5_click(object sonder, evenlargs e)groupbox4. visible = true; groupbox3.visible = true;datagridviewl.visible = false;private void toolstripbutton4_c1ick(

46、object sonder, evenlargs e) / 升序排序groupbox3. visible = true;string constr =,zpassword=617804;persist security info二true;user id=ywj;initial catalog=studcntscore;data source二yanjing"sqlcormection conn 二 new sqlconnecti()n(constr); conn. open ();sqldataadapter da = new sqldataadapter (''s

47、elect 学号,姓名,"+ forml. sub + “ from cjb order by " + eorml. sub + " desc "、conn);dataset ds = new dataset();da. fill (ds, "table");datagridview1 datasource = ds tables"table" defaultview; conn. closeo ; conn. dispose();private void toolstripbutton6 click(object

48、 sender, eventargs e)this. closeo ; forml 1 = new forml () ; 1. visible = true;private void timerl_tick(object sender, eventargs e)labels. text ="当前时间:"+ da let i mo. now. tolongdatestr i ng () + datetime. now. tolongtimestring();4. 4管理员管理界面图4.4设计过程:此部分主耍针对管理员的,可以添加和删除所有用户的账号和密码。 private v

49、oid form4 load (object sender, eventargs e)timerl. start ();label 1. text = forml. sn + "管理员,欢迎进入成绩管理系统! “; groupbox2. enabled = false;private void labell click (object sender, eventargs e) private void radiobuttonl_chcckcdchangcd(object sender, eventargs e)if (radiobuttonl. checked) groupbox2.

50、 ermbled = true; txtkm.enabled = true; private void radiobutton2 checkedchanged(object sender, eventatgs e)if (radiobutton2checked) groupbox2. enabled 二 true; txtkm .enabled =false; private void txtyhm textchanged(object sender, eventargs e) private void button2_click(object sender, eventargs e)txtk

51、m .text = txtmm. text = txtyhm .text =private void button3_click(object sender, eventargs e)thisclose(); forml 1 = new forml (); 1. visib 1 e = true;private void label5_click(object sender, eventargs e)private void timerl tick (object sender, eventargs e)labels. text ="当前时间:"+ datetime. no

52、w. tolongdatestringo + datetime. now. toshorttimestring();private void buttonl_click(object sender, eventargs e)string constr = "password二617804;persist security info=true;user td=ywj;tnitial catalog=studentscore;data source二yanjtng"sqlconnection conn 二 new sqlconnection(constr);conn. 0pen

53、();if (radiobuttonl checked )system. consol e. out. wri teline(z,/);if(txtyhm .texttext !二""&& txtkm . text !="")sq 1 comma nd com = new sq 1 comma nd ("select * f rom dlb where 用户名 =、”七 txtyhm . text . trimconn);if (com. executescalar () !=nul 1) messagebox . show ("用户已存在 )汀elsesqlcommand cm = new sqlcommand ("insert into dlb (用户 名,密码,类别,科目)values ('" + txtyhm . text+ txtmm . text'教师',+txtkm类别).text +"&#

温馨提示

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

评论

0/150

提交评论