




免费预览已结束,剩余21页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c#程序设计课程设计报告(2010 2011学年 第 2 学期)题 目: 专 业: 班 级: 姓名学号: 指导教师: 成 绩: 计算机科学与技术系年月日c#学生成绩管理系统一、设计目的1、掌握简单winform应用程序的设计2、ado.net的应用。3、使用c#语言解决实际问题的能力二、设计内容1、基本要求 (1)根据查询条件实现学生信息的查询。 (2)学生选课信息查询、成绩信息的查询。 (3)学生信息、课程信息、成绩信息的增加、删除、修改。 (4)对基本信息完成增加、删除、修改时,需注意表与表之间的关联三、软件设计过程 一、按照任务书写表格1、 课程表2、 学生表3、 成绩表另外添加了一张用户登陆表2、 软件功能介绍1、登陆界面 点击登陆后进入主界面,点击退出即退出系统2、 主界面主界面有四个按钮,分别是:学生信息查寻、学生信息修改、学生成绩录入和退出。前三个进入相应的功能界面,退出则是退出系统。3、 学生信息查询界面进入学生信息查寻界面。可以按照姓名、学号和专业进行查寻。按专业查询:按姓名查询:按学号查询:点击会显示所选行学生的成绩 以学号061101王林为例:返回键返回主菜单4、学生信息修改界面点击任意一行,会将相应学生的信息显示在分别显示在相应的空格里,如图:对其作出修改点击更新当输入的姓名在学生表里没有时,如:点击更新怎是加入一条学生信息选中一条学生信息,点击删除,会有提示框提示是否删除:点击确定会提示删除成功取消则是取消删除。返回键返回主菜单5、 学生成绩录入界面进入学生成绩录入界面,显示有记录学生成绩的学号、姓名、课程号及成绩。录入成绩,以录入tom 学号061120课程号101为例:点击确认即录入成绩点击返回,返回主菜单。四、心得体会 这次课程设计,一开始无从下手。在听过老师的讲解后,逐渐知道了大体方向。开始慢慢地做了起来。碰到困难,寻求同学和网络的帮助,在他们的帮助下,问题一一解决,最终完成了此次的课程设计。此次的课程设计让我对c#和数据库有更深一步的了解,把平时零散的理论知识在此次课程设计中用起来了。同时也发现了自己的不足之处,日后要多多实践。五、源程序 用户登陆界面using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.windows.forms;using system.data.sqlclient;namespace _1 public partial class userlog : form public userlog() initializecomponent(); public string connstr; public void getway() connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; private void quit_click(object sender, eventargs e) this.close(); private void log_click(object sender, eventargs e) getway(); string username = uname.text.trim(); string password = upassword.text.trim(); /string selectcommond = select * from userxx where username =+ username+ and userpassword = + password+; string _sql = select * from userinfo; /方?便?前期操作痢? 后来?要癮删?除y的?记?住? using (sqlconnection conn = new sqlconnection(connstr) conn.open(); sqlcommand sql = new sqlcommand(_sql, conn); sqldatareader reader = sql.executereader(); if (reader.read() main open1 = new main(); open1.showdialog(); else if (uname.text = ) messagebox.show(用?户名?不?能为a空?!?, 错洙?误提?示?!?); else if (upassword.text = ) messagebox.show(密码?不?能为a空?!?, 错洙?误提?示?!?); else messagebox.show(不?存?在该?用?户信?息!?, 错洙?误提?示?!?); uname.text = ; upassword.text = ; 主界面 using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.windows.forms;using system.data.sqlclient;namespace _1 public partial class main : form public main() initializecomponent(); private void button1_click_1(object sender, eventargs e) stuinfocheck stu1 = new stuinfocheck(); stu1.showdialog(); private void button2_click_1(object sender, eventargs e) stuinfoadd stu2 = new stuinfoadd(); stu2.showdialog(); private void button3_click_1(object sender, eventargs e) stugraceinfo stu3 = new stugraceinfo(); stu3.showdialog(); private void button4_click_1(object sender, eventargs e) this.close(); 学生信息查询using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.windows.forms;using system.data.sqlclient;using system.io;namespace _1 public partial class stuinfocheck : form public stuinfocheck() initializecomponent(); public string selectsno; private void stuinfocheck_load(object sender, eventargs e) / todo: 这a行d代洙?码?将?数簓据y加载?到?表括?“studentdataset.s”中d。您可以?根据y需要癮移?动或移?除y它。 /this.stableadapter.fill(this.studentdataset.s); / todo: 这a行d代洙?码?将?数簓据y加载?到?表括?“studentdataset.c”中d。您可以?根据y需要癮移?动或移?除y它。 /this.ctableadapter.fill(this.studentdataset.c); /- string connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; string _sql = select sno as 学号?,sname as 姓?名?,smajor as 专痢?业唉?ssex as 性?别纄,sbirth as 生?日?,totalpoint as 总哩?学分?,remark as 备?注痢?from s; / string _sql = select sno as 学号?,sname as 姓?名? from s; sqlconnection cnn = new sqlconnection(connstr); sqldataadapter sda = new sqldataadapter(_sql, cnn); dataset ds = new dataset(); sda.fill(ds); datagridview1.datasource = ds.tables0.defaultview; string sql_smajor=select distinct smajor from s; sqlcommand cmd = new sqlcommand(sql_smajor,cnn); cnn.open(); / sqldatareader dr = new sqldatareader(); sqldatareader dr = cmd.executereader(); while(dr.read() majorselection.items.add(dr0); cnn.close(); majorselection.selectedindex=0; public dataset conn(string sql) string connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; /string _sql = select sno as 学号?,sname as 姓?名?,smajor as 专痢?业唉?ssex as 性?别纄,sbirth as 生?日?,totalpoint as 总哩?学分?,remark as 备?注痢?from s; sqlconnection cnn = new sqlconnection(connstr); sqldataadapter sda = new sqldataadapter(sql, cnn); dataset ds = new dataset(); sda.fill(ds); return ds ; private void search_click(object sender, eventargs e) string sql = select * from s where 1=1 ; if (no.text.trim() != string.empty) sql += and sno like % + no.text.trim() + %; if (name.text.trim() != string.empty) sql += and sname like % + name.text.trim() + %; if (majorselection.text.trim() != 所有瓺专痢?业唉?) sql += and smajor like % + majorselection.text + ; dataset ds = conn(sql); datagridview1.datasource = ds.tables0.defaultview; /private void datagridview1_rowheadermousedoubleclick(object sender, datagridviewcellmouseeventargs e) / / string str = datagridview1.currentrow.cells0.value.tostring(); / string _sql = select sno as 学号?,sname as 姓?名?,smajor as 专痢?业唉?ssex as 性?别纄,sbirth as 生?日?,totalpoint as 总哩?学分?,remark as 备?注痢?from s; / dataset ds = conn(_sql); / datagridview1.datasource = ds.tables0.defaultview; / private void datagridview1_rowheadermouseclick(object sender, datagridviewcellmouseeventargs e) stuinfodetail formcourse = new stuinfodetail(); formcourse.selectsno = datagridview1.currentrow.cells0.value.tostring(); formcourse.showdialog(); private void exit_click(object sender, eventargs e) this.close(); 成绩显示界面using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.windows.forms;using system.data.sqlclient;namespace _1 public partial class stuinfodetail : form public string selectsno; public stuinfodetail() initializecomponent(); private void stuinfodetail_load(object sender, eventargs e) string connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; string _sql = select s.sno as 学号?,sname as 姓?名?,cno as 课?程号?,point 成绩 from s,sc where s.sno = sc.sno and s.sno= + this.selectsno + ; sqlconnection cnn = new sqlconnection(connstr); cnn.open(); sqldataadapter sda = new sqldataadapter(_sql, cnn); dataset ds = new dataset(); sda.fill(ds); datagridview1.datasource = ds.tables0.defaultview; cnn.close(); 学生信息修改using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.windows.forms;using system.data.sqlclient;namespace _1 public partial class stuinfoadd : form public stuinfoadd() initializecomponent(); private void stuinfoadd_load(object sender, eventargs e) / todo: 这a行d代洙?码?将?数簓据y加载?到?表括?“studentdataset.s”中d。您可以?根据y需要癮移?动或移?除y它。 /this.stableadapter.fill(this.studentdataset.s); / todo: 这a行d代洙?码?将?数簓据y加载?到?表括?“studentdataset.c”中d。您可以?根据y需要癮移?动或移?除y它。 /this.ctableadapter.fill(this.studentdataset.c); /- string connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; string _sql = select sno as 学号?,sname as 姓?名?,smajor as 专痢?业唉?ssex as 性?别纄,sbirth as 生?日?,totalpoint as 总哩?学分?,remark as 备?注痢?from s; / string _sql = select sno as 学号?,sname as 姓?名? from s; sqlconnection cnn = new sqlconnection(connstr); sqldataadapter sda = new sqldataadapter(_sql, cnn); dataset ds = new dataset(); sda.fill(ds); datagridview1.datasource = ds.tables0.defaultview; /string sql_smajor = select distinct smajor from s; /sqlcommand cmd = new sqlcommand(sql_smajor, cnn); cnn.open(); /sqldatareader dr = new sqldatareader(); /sqldatareader dr = cmd.executereader(); /while (dr.read() / / majorseletion.items.add(dr0); / /cnn.close(); /majorseletion.selectedindex = 0; private void delete_click(object sender, eventargs e) string connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; dialogresult ret = messagebox.show(确?定要癮删?除y该?信?息吗e??, 删?除y, messageboxbuttons.okcancel, messageboxicon.information); if(ret = dialogresult.cancel) return; string _sql=delete from s where sno=+stuno.text+; sqlconnection conn = new sqlconnection(connstr); sqlcommand cmd = new sqlcommand(_sql,conn); try conn .open(); int rows=cmd .executenonquery(); if(rows = 1) messagebox.show(删?除y成功|!?, 提?示?, messageboxbuttons.ok, messageboxicon.information); stuinfoadd_load(null ,null ); finally conn.close(); private void datagridview1_rowheadermouseclick(object sender, datagridviewcellmouseeventargs e) stuno.text = datagridview1.currentrow.cells0.value.tostring(); stuname.text = datagridview1.currentrow.cells1.value.tostring(); cname.text = datagridview1.currentrow.cells2.value.tostring(); stubirth.text = datagridview1.currentrow.cells4.value.tostring(); credit.text = datagridview1.currentrow.cells5.value.tostring(); sturemark.text = datagridview1.currentrow.cells6.value.tostring(); if (datagridview1.currentrow.cells3.value.tostring().trim () = 男d) male.checked = true; else female.checked = true; /stubirth.text = convert.todatetime(stubirth.text.trim().toshortdatestring(); private void updata_click(object sender, eventargs e) /更新?信?息 string connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; string _title = select count(*) from s where sno= + stuno.text + ; sqlconnection conn = new sqlconnection(connstr); sqlcommand cmd = new sqlcommand(_title, conn); /检查是?否?有瓺该?学生?的?信?息,?有瓺则修t改?,?无t则添?加 try conn.open(); int str = (int)cmd.executescalar();/强?制?转羇换?,?执行d查询并返?回?查询所返?回?的?结果?集中d第台?一?行d的?第台?一?列 /修t改?信?息 if (str = 1) _title = update s set sname = + stuname.text + ,smajor = + cname.text + ,totalpoint = + int.parse(credit.text) + ,remark= + sturemark.text + where sno= + stuno.text + ; /添?加新?信?息 else /datetime cn = convert.todatetime(stubirth.text.trim(); string sex = male.checked ? 男d : 女?; _title = insert into s(sno,sname,smajor,ssex,sbirth,totalpoint,remark) values ( + stuno.text + , + stuname.text + , + cname.text + , + sex + , + stubirth.text.trim() + , + int.parse(credit.text) + , + sturemark.text + ); cmd = new sqlcommand(_title, conn); cmd.executenonquery(); stuinfoadd_load(null, null); finally conn.close(); private void exit_click(object sender, eventargs e) this.close(); 学生成绩录入using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.windows.forms;using system.data.sqlclient;namespace _1 public partial class stugraceinfo : form public stugraceinfo() initializecomponent(); private void stugraceinfo_load(object sender, eventargs e) string connstr = data source=.sqlexpress;attachdbfilename=e:1student.mdf;integrated security=true;connect timeout=30;user instance=false; string _sql = select s.sno as 学号?,sname as 姓?名?,cno as 课?程号?,point as 成绩 from s,sc where s.sno=sc.sno; /select sno as 学号?,sname as 姓?名?,smajor as 专痢?业唉?ssex as 性?别纄,sbirth as 生?日?,totalpoint as 总哩?学分?,remark as 备?注痢?from s sqlconnection cnn = new sqlconnection(connstr); sqldataadapter sda = new sqldataadapter(_sql, cnn); cnn.open(); dataset ds = new dataset(); sda.fill(ds); datagridview1.datasource = ds.tables0.defaultview; /cnn.close(); private void button3_click(object sender, eventargs e) this.close(); private void datagridview1_rowheadermousedoubleclick(object sender, datagridviewcellmouseeventargs e) textbox1.text = datagridview1.currentrow.cells1.value.tostring(); textbox3.text = datagridview1.currentrow.cells0.value.tostring(); textbox4.text = datagridview1.currentrow.cells3.val
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准商品房按揭抵押贷款合同范本
- 新能源汽车智能座舱2025年交互设计在车载智能娱乐系统中的应用报告
- 2025建筑工程监理合同
- 2025年智能语音情感识别在智能语音教育辅导系统中的创新应用
- 2025年(劳动合同)科技公司劳动合同简易模板
- 2025年广播编导试题及答案
- 城市综合体装修工程物业管理及商业运营协议
- 离婚协议书中关于共同财产分割补充协议合同
- 离婚协议书附带房产过户及租金分配协议
- 离婚谈判实战秘籍三大技巧专业调解合同
- 输血相容性检测室内质量控制及流程
- 医院质控指标管理制度
- 2025年全国中小学教师职称评审考试试卷及答案
- 《健身力量训练》课件
- 赔偿保密协议书范本
- 隔物灸的作用与护理
- 云服务器故障应急预案
- 汉服妆造培训课件
- 静脉输液安全及风险防控
- 电能质量控制与安全标准手册
- 设计总监升职述职报告
评论
0/150
提交评论