基于C#的学生信息管理系统设计.doc_第1页
基于C#的学生信息管理系统设计.doc_第2页
基于C#的学生信息管理系统设计.doc_第3页
基于C#的学生信息管理系统设计.doc_第4页
基于C#的学生信息管理系统设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

基于C#的学生信息管理系统设计摘 要:本文描述的是基于Windows环境的学生信息管理系统,主要工具Microsoft Visual Studio 2010 设计窗体, 系统开发语言C#,实现学生信息管理的功能。1 编程环境介绍1.1开发工具选择本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2008作为主要开发工具,可与SQL Server 2005数据库无缝链接。1.2 开发环境系统开发平台:Microsoft Visual Studio2005系统开发语言:C#微软c#语言定义主要是从C和C+继承而来的,而且语言中的许多元素也反映了这一点,C#在设计者从C+继承的可选选项方面比Java要广泛一些,它还增加了自己新的特点(比方说源代码版本定义)。C#拥有比C,C+或者Java更广泛的数据类型。这些类型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal,象Java一样,所有这些类型都有一个固定的大小,又象C和C+一样,每个数据类型都有有符号和无符号两种类型。C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。C#包括以下一些特性:完全支持类和面向对象编程;定义完整、一致的基本类型集;对自动生成 XML 文档说明的内置支持;自动清理动态分配的内存。 2系统总体结构及功能模块划分经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息查询,学生信息管理,学生成绩录入三个功能模块。如图2.1 系统的总体结构。学生成绩录入学生信息管理学生信息管理系统学生信息查询图2.1 系统的总体结构2.1学生信息查询模块学生信息查询学号查询姓名查询学生信息查询:学生可以根据学号、姓名、专业进行查询。如图2.2学生信息查询模块结构。图2.2 学生信息管理模块结构2.2学生信息管理模块学生信息管理:主要是用于学生信息更新、插入、删除,如图2.3学生管理模块结构。基本信息录入成绩录入基本信息更新成绩更新学生信息删除学生信息录入学生信息管理学生信息更新图2.3 学生信息管理模块结构2.3用户登录安全性系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。3系统程序流程图图3.1系统总体流程图4系统主要功能模块简介4.1系统登录用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。用户界面如图4.1 用户登录界面所示。图4.1 用户登录界面4.2学生信息查询模块学生信息查询:在程序主界面(如图4.2 程序主界面)学生可以根据学号、姓名进行查询。双击记录任一单元格可显示学生的更详细信息。图4.2 程序主界面4.3学生信息管理模块学生信息管理:通过右击程序主界面的相应记录弹出的上下文菜单(如图4.3.1 上下文菜单)可对当前选定学生信息进行详细信息查询(如图4.3.2详细信息窗口)、修改信息(如图4.3.3修改信息窗口)、删除信息(如图 4.3.4删除信息提示)。更新时如果输入的学号不存在,可选择是否添加学生信息。通过程序主界面的新建信息记录可添加学生信息。图4.3.1 上下文菜单图4.3.2 修改信息窗口图4.3.3删除信息提示5主要功能模块代码注释5.1 公共类代码设计 namespace MySql public class mySql public String commondText; public bool flag; /指示有条该条记录 public System.Data.DataView table; public void runSql() / 执行查询、删除SQL语句 using (SqlConnection connection = new SqlConnection(connectionString) connection.Open(); SqlCommand cmdQuery = new SqlCommand(commondText, connection); SqlDataAdapter sda = new SqlDataAdapter(commondText, connection); DataSet ds = new DataSet(); sda.Fill(ds); if (commondText.IndexOf(SELECT) = 0) table = ds.Tables0.DefaultView; connection.Close(); public bool getFlag() /判断是否有该条记录 using (SqlConnection connection = new SqlConnection(connectionString) connection.Open(); SqlCommand cmdQuery = new SqlCommand(commondText, connection); SqlDataReader reader = cmdQuery.ExecuteReader(); if (reader.Read() flag = true; else flag = false; reader.Close(); connection.Close(); return flag; public String getContent(String require,String SNO) /获取视图表的的指定单元格内容 try commondText = SELECT + require + FROM detail WHERE 学号= + SNO; if (require = up课程名称) commondText = SELECT 课程名称 FROM detail WHERE 学号= + SNO; if (require = up成绩) commondText = SELECT 成绩 FROM detail WHERE 学号= + SNO; SqlDataAdapter sda = new SqlDataAdapter(commondText, connectionString); DataSet ds = new DataSet(); sda.Fill(ds); String result=; if(require=课程名称|require=成绩) int i=new int(); for (i=0; i ds.Tables0.Rows.Count; i+) result = result+ds.Tables0.Rowsirequire.ToString()+n; else result=ds.Tables0.Rows0require.ToString().Trim(); return result; catch return 无; public void update() /添加、更新语句 try using (SqlConnection connection = new SqlConnection(connectionString) connection.Open(); SqlCommand cmdInsert = new SqlCommand(commondText, connection); cmdInsert.ExecuteNonQuery(); connection.Close(); catch(Exception ex) MessageBox.Show(ex.ToString(), 提示); 5.2 登录界面代码设计 private void login_Click(object sender, EventArgs e) /用户名及密码组合判断 if(username.Text.ToString().Trim()!=& password.Text.ToString().Trim() != ) mySql sql = new mySql();mondText = SELECT * FROM userdata WHERE USERNAME= + username.Text.ToString().Trim() + AND PASSWORD= + password.Text.ToString().Trim() + ; try bool temp = new bool(); temp = sql.getFlag(); if (temp) this.Visible = false; mainface main = new mainface(this); main.Show(); catch(Exception ex) MessageBox.Show(ex.ToString(),提示); else MessageBox.Show(请输入用户名和密码,提示); 5.3 查询模块代码设计 private void btQuery_Click(object sender, EventArgs e) mySql query=new mySql(); if (sNInput.Text.Trim() = & sNoinput.Text.Trim()!=) mondText = SELECT SNO AS 学号,SN AS 姓名,MN AS 专业名称,SEX AS 性别,BIRDAY AS 出生日期,TS AS 总学分,COM AS 备注 FROM S WHERE SNO=+sNoinput.Text.Trim()+; if (sNInput.Text.Trim() != & sNoinput.Text.Trim() = ) mondText = SELECT SNO AS 学号,SN AS 姓名,MN AS 专业名称,SEX AS 性别,BIRDAY AS 出生日期,TS AS 总学分,COM AS 备注 FROM S WHERE SN= +sNInput.Text.Trim()+ ; if (sNInput.Text.Trim() != & sNoinput.Text.Trim() != ) mondText = SELECT SNO AS 学号,SN AS 姓名,MN AS 专业名称,SEX AS 性别,BIRDAY AS 出生日期,TS AS 总学分,COM AS 备注 FROM S WHERE SN= + sNInput.Text.Trim() + and SNO= + sNoinput.Text.Trim() + ; if (sNInput.Text.Trim() = & sNoinput.Text.Trim() = ) MessageBox.Show(您输入的信息为空,请重新输入!, 错误信息); else if (query.getFlag() query.runSql(); dataGridView1.DataSource = query.table; else MessageBox.Show(您查找的信息不存在, 错误信息); 5.4 添加模块代码设计 private void addbtOK_Click(object sender, EventArgs e) if (addStuNo.Text.Trim() != & addStuName.Text.Trim() != & addStuMajor.Text.Trim()!=) mySql sql = new mySql(); mondText = SELECT CNO FROM C WHERE CN= + listmn.Text.ToString().Trim()+ ; sql.runSql(); String temp = sql.table.Table.Rows0CNO.ToString(); String sexTemp=radioButton1.Checked ? 男:女; String comTemp; if (addStuCom.Text.ToString().Trim() = ) comTemp = ; else comTemp = addStuCom.Text.ToString().Trim(); String birTemp= ; if (addStuBir.Text.ToString().Trim() = ) comTemp = ; else birTemp = addStuCom.Text.ToString().Trim(); mondText=INSERTINTOS (SNO,SN,MN,SEX,BIRDAY,COM) VALUES( +addStuNo.Text.ToString().Trim()+, +addStuName.Text.ToString().Trim()+, +addStuMajor.Text.ToString().Trim()+, +sexTemp+, +birTemp+, +comTemp+); sql.update(); if(score.Text.ToString().Trim()!=) mondText = INSERT INTO SC(SNO,CNO,SCORE) VALUES (+addStuNo.Text.ToString().Trim() +,+temp+,+score.Text.ToString().Trim()+); sql.update(); this.Close(); else MessageBox.Show(学号、姓名和专业名称都不可以为空!,错误!); private void AddNew_Load(object sender, EventArgs e) /获取专业列表 mySql sql = new mySql(); mondText = SELECT DISTINCT CN FROM C; SqlDataAdapter sda = new SqlDataAdapter(mondText, sql.connectionString); DataSet ds = new DataSet(); sda.Fill(ds); listmn.DataSource = ds.Ta

温馨提示

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

评论

0/150

提交评论