C#实验报告docx.docx
- 文档编号:27549969
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:32
- 大小:44.27KB
C#实验报告docx.docx
《C#实验报告docx.docx》由会员分享,可在线阅读,更多相关《C#实验报告docx.docx(32页珍藏版)》请在冰豆网上搜索。
C#实验报告docx
[文档标题]
[文档副标题]
姓
专业:
班
名:
计算机科学与技术
级:
计134班
学号:
指导教师:
李
伟
目录:
一⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
3
1.1
目的
1.2
开工具
1.3
开境
1.4本告的主要内容
二
需求分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
3
2.1系需求介
2.2系目
三
体⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
4
3.1概述
3.2系体构及功能模划分
3.3系数据概念构
3.4安全保密
四
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
7
4.1
概述
4.2
系程序流程
4.3
系登
五
主要功能模代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
12
5.1
公共代
5.2
登界面代
5.3
模代
5.4
添加模代
5.5
更新模代
5.6
除模代
六程心得⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
23
七指、参考⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
23
摘要
本文描述的是基于Windows询!
学生信息管理!
学生成绩录入
环境的学生信息管理系统!
主要功能模块包括,学生信查
主要工具MicrosoftVisualStudio
2010
设计窗体
SQLserver2005建立数据库
实现学校信息管理的各个功能。
本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为!
给出了学生信息管理系统的设计和技术实现的过程!
特别在细节上分析功能和函数的实现思想。
涉及
到学生信息管理的基本功能在本报告中都有相应的描述。
一、绪论
1.1设计目的
本课程设计的目的是使学生能熟练掌握简单的简单
ADO.net的应用!
希望通过本次课程设计锻炼学生使用
Windows窗体应用程序的设计和C#语言解决实际问题的能力。
1.2开发工具选择
本系统后台数据库采用MicrosoftSQLServer数据库!
该数据库系统在安全性、准确性
和运行速度方面有绝对的优势!
并且处理数据量大!
效率高(前台采用Microsoft公司的Visual
Studio2008作为主要开发工具!
可与SQLServer2005数据库无缝链接。
1.3开发环境
系统开发平台,MicrosoftVisualStudio2005
系统开发语言,C#
数据库管理软件,SQLServer2005
1.4本报告的主要内容
本报告详细的介绍了学生信息管理系统的开发过程!
主要涉及到的工作如下,系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。
二、需求分析
2.1系统需求简介
2.1.1系统目标
(1)根据查询条件实现学生信息的查询
(2)学生选课信息查询、成绩信息的查询
(3)学生信息、课程信息、成绩信息的增加、删除、修改
(4)对基本信息完成增加、删除、修改时!
需注意表与表之间的关联2.1.2功能需求
分析
本系统的功能需求分析如下,
(1)学生信息查询,学生可以根据学号、姓名、专业进行查询
.
(2)学生信息管理,主要是用于学生信息更新、插入、删除(
(3)学生成绩录入,用于学生成绩管理!
录入学生成绩!
也可以更新
(2.1.3
性能需求
分析
(1)登录、用户界面需求,简洁、易懂、易用、友好的用户界面。
(2)安全保密性需求,只有凭借用户名和密码登陆系统!
才能进行信息的管理等。
三、总体设计
3.1设计概述
根据需求把整个系统分化成不同的模块!
每个模块完成一个特定的子功能。
把这些模块
结合起来组成一个整体。
逐一实现各个功能.
3.2系统总体结构及功能模块划分
经过对系统的需求分析!
学生信息管理系统主要划分为三个部分,
信息管理!
学生成绩录入三个功能模块。
如图3.2.1系统的总体结构。
学生信息查询!
学生
学生信息管理系统
学
学
学
生
生
图3.2.1系统的总体结构。
信
生
成
信
3.2.2学生信息查询模
学生信息查询,学生可以根据学号、姓名、专业进行查询。
如图
息
息
绩
块结构。
录
查
管
3.2.2学生信息管询理模块
入
理
学生信息管理,主要是用于学生信息更新、
插入、删除!
如图3.2.3学生管理模块结构。
图3.2.3学生信息管理模块结构
3.3系统数据库概念结构设计
根据对数据项与数据结构的分析!
设计出能够满足系统需求的各种实体!
及它们之间的
关系!
为后面的逻辑结构设计打下基础。
3.3.1系统E-R图
系统E-R图可以将各个实体之间的关系显示出来!
将各个实体间的属性依赖表示明白。
如图3.3.1系统E-R图结构。
3.3.2系统数据库的设计
综合以上分析!
要实现上面的所有功能模块!
主要设计表如下,
表3.3.1用户表(usedata)表3.3.2成绩表(SC)
表3.3.3课程表(C)表3.3.4学生表(S)
3.4安全保密设计
3.4.1用户登录安全性
系统设计了登录界面!
每个合法用户有用户名及一个密码!
只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。
四、详细设计
4.1概述
详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统!
也就是说!
经过这
个阶段的设计工作!
应该得出目标系统的精确描述!
从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
4.2系统程序流程图
程序流程图又称为程序框图!
它是历史悠久使用最广泛的描述软件设计的方法。
它可将
整个程序的总体流程清楚明白的显示出来。
如图4.2.1系统总流程图结构。
图4.2.1系统总体流程图4.3系统主要功能模块简介
4.3.1系统登录
用户凭借用户名及密码登录!
成功登录后可对学生信息进行操作。
用户界面如图4.3.1用户
登录界面所示。
图4.3.1用户登录界面
4.3.2学生信息查询模块
学生信息查询,在程序主界面(如图4.3.2程序主界面,学生可以根据学号、姓名进行
查询。
学生也可以只用一种条件进行信息查询!
也可以多个条件查询。
双击记录任一单元格
可显示学生的更详细信息(如图4.3.3详细信息窗口)。
图4.3.2程序主界面
图4.3.3详细信息窗口
4.3.3学生信息管理模块
学生信息管理,通过右击程序主界面的相应记录弹出的上下文菜单(如图4.3.4上下文
菜单)可对当前选定学生信息进行详细信息查询(如图4.3.3详细信息窗口)、修改信息(如
图4.3.5修改信息窗口)、删除信息(如图4.3.6删除信息提示)。
更新时如果输入的学号不存在!
可选择是否添加学生信息。
通过程序主界面的新建信息记录可添加学生信息(如图
4.3.7添加信息窗口)。
图4.3.4上下文菜单图4.3.5修改信息窗口图4.3.6删除信息提示图4.3.7添加信息窗口
五、主要功能模块代码
5.1公共类代码设计
namespaceMySql
{
publicclassmySql
{
publicStringconnectionString=
学习课程设计
\StuScoreManSystem\StuScoreManSystem\StuScoManSys.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True;";
publicStringcommondText;
publicboolflag;//指示有条该条记录
publicvoidrunSql()//执行查询、删除SQL语句
{
using(SqlConnectionconnection=newSqlConnection(connectionString))
{
connection.Open();
SqlCommandcmdQuery=newSqlCommand(commondText,connection);
SqlDataAdaptersda=newSqlDataAdapter(commondText,connection);
DataSetds=newDataSet();
sda.Fill(ds);
if(commondText.IndexOf("SELECT")>=0)
{
table=ds.Tables[0].DefaultView;
}
connection.Close();
}
}
publicboolgetFlag()//判断是否有该条记录
{
using(SqlConnectionconnection=newSqlConnection(connectionString))
{
connection.Open();
SqlCommandcmdQuery=newSqlCommand(commondText,connection);
SqlDataReaderreader=cmdQuery.ExecuteReader();
if(reader.Read())flag=true;
elseflag=false;
reader.Close();
connection.Close();
returnflag;
}
}
publicStringgetContent(Stringrequire,StringSNO)//获取视图表的的指定单元格内容
{
try
{
commondText="SELECT"+require+"FROMdetailWHERE学号="+SNO;
if(require=="up课程名称")
commondText="SELECT课程名称FROMdetailWHERE学号="+SNO;
if(require=="up成绩")
commondText="SELECT成绩FROMdetailWHERE学号="+SNO;SqlDataAdaptersda=newSqlDataAdapter(commondText,
connectionString);
DataSetds=newDataSet();
sda.Fill(ds);
Stringresult="";
if(require=="课程名称"||require=="成绩")
{
inti=newint();
for(i=0;i { result=result+ds.Tables[0].Rows[i][require].ToString()+"\n"; } } else result=ds.Tables[0].Rows[0][require].ToString().Trim(); returnresult; } catch { return"无"; } 13 } publicvoidupdate() {//添加、更新语句 try { using(SqlConnectionconnection=newSqlConnection(connectionString)) { connection.Open(); SqlCommandcmdInsert=newSqlCommand(commondText, connection); cmdInsert.ExecuteNonQuery(); connection.Close(); } } catch(Exceptionex) { MessageBox.Show(ex.ToString(),"提示"); } } } } 5.2登录界面代码设计 privatevoidlogin_Click(objectsender,EventArgse) {//用户名及密码组合判断 "") { mySqlsql=newmySql(); mondText="SELECT*FROMuserdataWHEREUSERNAME='"+ "'"; try { booltemp=newbool(); temp=sql.getFlag(); if(temp) { this.Visible=false; mainfacemain=newmainface(this); main.Show(); } } catch(Exceptionex) { MessageBox.Show(ex.ToString(),"提示"); } } else { MessageBox.Show("请输入用户名和密码","提示"); } } 5.3查询模块代码设计 privatevoidbtQuery_Click(objectsender,EventArgse) { mySqlquery=newmySql(); "SELECTSNOAS学号,SNAS姓名,MNAS专业名称,SEXAS性别,BIRDAYAS出生日 期,TSAS总学分,COMAS备注 ="SELECTSNOAS学号,SNAS姓名,MNAS专业名称,SEXAS性别,BIRDAYAS出生日期,TSAS总学分,COMAS备注 ="SELECTSNOAS学号,SNAS姓名,MNAS专业名称,SEXAS性别,BIRDAYAS出生日期,TSAS总学分,COMAS备注 您输入的信息为空! 请重新输入(","错误信息"); else { if(query.getFlag()) { query.runSql(); dataGridView1.DataSource=query.table; } elseMessageBox.Show("您查找的信息不存在 ","错误信息 "); } } 5.4添加模块代码设计 privatevoidaddbtOK_Click(objectsender,EventArgse) { { mySqlsql=newmySql(); sql.runSql(); StringsexTemp=radioButton1.Checked"男": "女"; StringcomTemp; comTemp=""; StringbirTemp=""; comTemp=""; mondText="INSERTINTOS(SNO,SN,MN,SEX,BIRDAY,COM)VALUES(" +sexTemp+"','" +birTemp+"','" +comTemp+"');"; sql.update(); sql.update(); } this.Close(); } Else { MessageBox.Show("学号、姓名和专业名称都不可以为空(((","错误("); } } privatevoidAddNew_Load(objectsender,EventArgse) {//获取专业列表 mySqlsql=newmySql(); mondText="SELECTDISTINCTCNFROMC"; SqlDataAdaptersda=newSqlDataAdapter(mondText,sql.connectionString); DataSetds=newDataSet(); sda.Fill(ds); listmn.DataSource=ds.Tables[0].DefaultView; listmn.DisplayMember="CN"; } 5.5更新模块代码设计 privatevoidupbtOK_Click(objectsender,EventArgse) { mySqlsql=newmySql(); mondText="SELECT学号FROMdetailWHERE学号boolflagtemp=sql.getFlag(); if(! flagtemp)//如果表中无该条记录! 提示是否进行添加新记录操作 { if(MessageBox.Show("查无当前记录! 无法进行更新操作(\n是否进行添 加新记录的操作;","提示",MessageBoxButtons.OKCancel)==DialogResult.OK) { { mySqlsqlme=newmySql(); mondText="SELECTCNOFROMCWHERECN='"+ sqlme.runSql(); 课程 号 StringsexTemp=radioButton1.Checked"男": "女"; StringcomTemp; comTemp=""; StringbirTemp; birTemp=""; mondText="INSERTINTOS(SNO,SN,MN,SEX,BIRDAY,COM)VALUES(" +sexTemp+"','" +birTemp+"','" +comTemp+"');";sqlme.update(); { sqlme.update(); } this.Close(); } else { MessageBox.Show("学号、姓名和专业名称都不可以为空((("," 错误("); } } } else { { sql.runSql(); 获取课程号 StringsexTemp=radioButton1.Checked"男": "女"; StringcomTemp; comTemp=""; StringbirTemp; birTemp=""; +sexTemp+"',BIRDAY='" sql.update(); boolscFlag=newbool(); { try { mySqlscTemp=newmySql(); scTemp.runSql(); Stringcntemp= 获取课程号 scFlag=scTemp.getFlag(); if(scFlag) { ANDCNO="+temp; sql.update(); } } catch { sql.update(); } } this.Close(); } else { MessageBox.Show("学号、姓名和专业名称都不可以为空(((","错误( "); } } } 5.6删除模块代码设计 privatevoid删除记录ToolStripMenuItem_Click(objectsender,EventArgse) { mySqldel=newmySql(); if(MessageBox.Show("确定要删除此条记录;","提示 ",MessageBoxButtons.OKCancel)==DialogResult.OK) { mondText="DELETEFROMSCWHERESNO="+temp; del.runSql(); mondText="DELETEFROMSWHERESNO="+temp; del.runSql(); } } 六、课程设计心得 为期一周的课程设计结束了! 在老师和同学的帮助下! 我基本完成系统的设计。 我按照系统工程软件中瀑布型模型进行设计! 从需求分析! 概念设计! 总体设计! 详细设计! 界面 设计! 以及调试部分! 系统测试等各个步骤! 分步完成系统的各项任务! 实现了系统中的学生信息查询! 学生信息更新! 学生信息添加等模块的功能。 在这短短的几个星期中我收获如下, 1、巩固和加深了对C#的理解! 提高综合运用本课程所学知识的能力。 2、培养了我选用参考书! 查阅手册及文献资料的能力。 培养独立思考! 深入研究! 分析问题、解决问题的能力。 3、通过实际编译系统的分析设计、编程调试! 掌握应用软件的分析方法和工程设计方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 实验 报告 docx