二级课题范文(梅春晓)

时间:2022-06-19 14:10:07 浏览量:

  实践课题报告

  课 程 名称:

  二级实践课题

  课题名称:

  机房设备管理系统

  专 专

 业:

  软件技术(c#方向)

  班 班

 级:

 rz 软技 153

 学 学

 号:

  20156019033

 学生姓名:

  梅春晓

  指导教师:

  范毅华

 2016

 年

  7

 月

  5

 日

 中原工学院软件学院 二级实践课题设计任务书

  姓 姓 名 梅春晓

  软件技术

  专业

 软技 153

  班 题 题 目 机房设备管理系统的开发 设 设 计 计 任 任 务 务 开发一个比较完善的基于 Web 的 机房设备管理 系统,包括机房管理员所能用到的所有基于 Web 的管理方式,为软件学院提供一个方便管理设备的应用。主要功能包括:

 1. 登录:包括管理员登录,管理老师登录,维修员登录。(参与)

 2. 设备查看:可以精确的查询设备信息。(独立完成)

 3. 设备操作:对设备进行增加,删除,修改。(参与)

 4. 留言:对管理员进行提醒设备的最新信息。(参与)

 5. 设备维修:检测设备的状态,查询设备状态。(独立完成)

 6. 维修信息:记录对设备维修的人的信息,以便查找。(独立完成)

 7. 注册:成为用户,能使用设备管理系统。(参与)

 开发工具:C#、ASP .Net、SQL Server 2008、

 时 时 间 间 进 进 度 度 第 17 周(6.20~6.27):

 需求分析,然后对系统进行分工,完成界面设计以及数据库的设计 第 18 周(6.28~7.04):

 进行设备管理系统代码的编写、对参与的部分项目提出建议与想法以及系统后续的处理 第 19 周(7.05~7.08):

  查验并改进机房设备管理系统和查收报告

 原 原 主 始 始 要 资 资 参 料 料 考 与 与 文

 献

 [01]杨云. ASP.NET 典型系统开发 [M]:北京.人民邮电出版社. 2006.6 [02]千丽霞.ASP&ASP.NET150 例[M]:北京.清华大学出版社. 2004.5 [03]刘勇.SQL Server2000 基础教程[M]: 清华大学出版社. 2005.2 [04]童爱红. Visual C#.NET 应用教程[M]. 北京:人民邮电出版社,2004.3 [05]李兰友 杨晓光. Visual C#.NET 程序设计[M] 北京:清华大学出版社,2004.5 [06]王骞 陈宇 管马舟.C#程序设计经典 300 例[M]:北京.电子工业出版社.2013.8 [07]吴绍兴 刘岩 明廷堂.C#项目开发案例导航[M]:北京.电子工业出版社.2012.3

 指导教师签字:

  2016

 年

 7

 月

 5

 日

 机房设备管理系统 摘

 要 随着计算机的不断发展,一些计算机机房设备很难管理,此时需要一种软件系统来管理这些机房设备,有了此软件就可以很方便的管理这些设备。

 机房管理系统是信息管理系统,其开发的功能主要包括:计算机管理用户基本信息,设备基本信息,日常管理,通过强大的查询和检索高效的检索出数据,提高办事效率。管理员可以通过机房管理系统对设备进行增加,修改,查询和删除,以便了解设备的最新动态。还可以通过系统对设备的最新状态进行查看并对有问题的设备进行维修。还可以通过留言板对其他管理员和管理老师进行提醒。便于减少其他工作者的工作量。本系统是用Microsoft Visual Studio .NET 2010 开发的 C#窗体应用程序设计,数据库采用的是Microsoft SQL

 Server 2008,系统具有操作界面友好,简洁,使用的特点 。

  关 键词:

 机房设备管理系统; ; C# 窗体;

 SQL

 Server 2008 ; .NET 2010

 目

 录 摘 摘

 要 ............................................................................................................................................. 1

 第 第 1 1 章

 概述 ................................................................................................................................... 1

 第 第 2 2 章

 需求分析 ........................................................................................................................... 3

 2.1 系统需求 ............................................................................................................................. 3

 2.2 功能需求 ............................................................................................................................. 3

 2.2.1 系统管理 ........................................................................................................................ 3

 2.2.2.设备基本信息管理 ........................................................................................................ 3

 2.3 系统结构图 ......................................................................................................................... 4

 2.4 数据库分析与设计 ............................................................................................................. 4

 第 第 3 章 详细设计 ........................................................................................................................... 8

 3.1 系统详细设计 ....................................................................................................................... 8

 3.1.1 管理员登录 .................................................................................................................... 8

 3.1.2 管理员界面 .................................................................................................................... 9

 3.1.3 留言信息 ...................................................................................................................... 13

 3.1.4 维修登记 ...................................................................................................................... 15

 3.1.5 状态登记 ...................................................................................................................... 17

 第 第 4 章

 结束语 ........................................................................................................................... 21

 参考文献 ....................................................................................................................................... 22

 梅春晓 :机房设备管理系统 1 第 1 章 概述

 本章主要说明系统的开发背景,意义和主要使用那些软件开发 1.1 开发背景

  信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。机房设备管理迫切需要与计算机联系,不仅可以减轻办公人员的工作同时更能让机房设备系统管理。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,机房设备管理系统软件将会为实验室设备管理带来了极大的方便。

 现今实验室管理一般都以办公人员进行批次记录,其的繁索给具有强烈时间观念的办公人员带来了诸多不便,机房设备管理缺少一种完善的设备管理软件。

 1.2 意义

  机房设备是高校从事教学、实践开发的重要物质条件,也是学校综合实力的体现。随着机房设备的增多,如何对其进行有效管理成为机房工作人员面临的重要课题。面对不小的信息量,需要科学、有效的机房设备信息管理系统来提高实验室管理工作的效率.做到信息的规范管理、科学统计和快速查询,减少管理方面的工作量。

 信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,机房设备管理系统软件将会为教学办公室带来了极大的方便。

 1.3 系统相关知识介绍

  (1)Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 2003

 平台应用程序开发环境。Visual Studio 2010 版本其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。

 (2)SQL Server 2008 在 Microsoft 的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。

 (3)C# (C sharp)是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于 Microsoft .NET 平台的应用程序。使用简单的 C#语言结构,这些组件可以方便的转化为 XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过

 梅春晓 :机房设备管理系统 2 Internet 进行调用。最重要的是,C#使得 C++程序员可以高效的开发程序,而绝不损失 C/C++原有的强大的功能。因为这种继承关系,C#与 C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向 C#. 1.4 项目开发小组成员及分工

  组长:梅春晓

  组员:陈折 李明硕 小组分工如表 1.1 所示;

 表 1.1 小组分工任务表

 任务

 梅春晓 需求分析,设备信息的查询,管理员对设备信息的增、删、改,对设备信息的查询,设备状况的查询,维护以及部分界面设计和数据库设计。

 李明硕 设备信息的查询,管理老师对设备信息的增、删、改,对设备信息的查询,设备状况的查询,维护以及部分界面设计和数据库设计。

 陈折 设备信息的查询,维修人员对自己的信息修改以及部分界面设计和数据库设计。

 梅春晓 :机房设备管理系统 3 第 2 章 需求分析 本章主要讲解系统的设计思路和主要的步骤。

 2.1 系统需求

 对于一个机房设备管理系统,准确快捷的机房设备管理功能和方便简单的设备信息查询是十分必要的,因此系统必须为用户提供准确的设备信息和当前的设备的基本状况,这也是机房设备管理系统的最基本要求。所以结合实际情况,图书馆管理系统应满足以下需求:

 (1)客户端界面清晰友好,达到一目了然的效果。

  (2)客户端能够方便的管理系统及简单明了的设备信息管理和状况查询等操作。

 (3)防止管理添加设备信息出错,影响系统数据的正确性。

  (4)服务器端提供信息完全可靠,时效性强。能够保证数据与信息的安全性 2.2 功能需求

 本设备管理系统应该具备如下功能:

 2.2.1 系统管理

  管理模块只有管理员才可以使用,当进入本系统后,管理模块显示可用。要求:

 (1)管理员登录该系统后,可以查询到设备的基本信息并可以添加、删除户 信息,操作完成可以刷新数据显示。

  (2)查看

  2.2.2.设备基本信息管理

  设备基本信息管理模块对管理员开放。要求:

 (1)管理员(或其他管理员)登录该系统后,可以查询到设备的基本信息并可以对设备信息进行添加、修改、删除操作,操作完成可以刷新数据显示。

 (2)防止管理员对数据操作失误,应做到无输入添加数据失败、删除时应及时提醒用户等操作。

 梅春晓 :机房设备管理系统 4

 2.3 系统结构图 通过对项目的需求分析以及对总体的设计思路,画出了图 2.1 设备管理系统结构图;

 图 2.1 设备管理系统结构图

  上面这幅图的大致意思是把这个系统分为三个部分:维修人员、管理员、管理老师。管理老师可以对设备信息和个人信息进行查询和对个人信息的修改。管理员可以查询设备信息和维修信息、对设备进行增删改查、设备状态的修改以及设备的增删。而维修人员则具备留言给其他人和维修设备并修改设备状态的作用。

 2.4 数据库分析与设计

 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接影响应用系统的效率以及实现的效果,合理的数据库结构可以提高数据存储的效率,可以确保数据的完整性和一致性。

 运行系统 管理员登陆 管理老师登陆 维修人登陆 设备信息查询 设备信息操作 维修信息查询 留言 设备信息查询

 设备信息操作

 留言

 设备信息查询

 设备信息操作

 维修信息操作

 维修信息查询

 留言

 梅春晓 :机房设备管理系统 5

 2.4.1 实体及其属性 整个系统各实体可用以下关系来表示(其中主键已用下划线标识)

  设备信息(设备名,设备号,分类编号,购买日期,总金额,生产厂家,现领用人,现状,机房,位置)

  维修信息(设备 ID,现状,维修人 id,维修人姓名,维修信息)

  维修人员(维修人 id,密码)

  管理员(管理员 ID,密码)

  管理老师(老师 ID, 密码)

 机房设备管理系统数据库中各个表格的设计结构如表 2-1 到 2-5 所示 。

 2.4.2 E-R 模型

 根据对实体及其属性的分析,得出 E-R 模型图,如下图 2.2 所示;

 管理老师 管理员 管理员 id 密码 维修人员 密码 管理老师 id 维修人 id 密码 设备信息 设备 id 现状 维修信息 管理 机房 位置 仪器 id 生产厂家 分类 id 购买日 期 现领用人 总金额 维修姓名 维修 id 日期 现状 图 2.2

 E-R 模型图

 梅春晓 :机房设备管理系统 6 2.4.3 数据库的详细设计

 用户信息表如下表 2-1 所示:

 表 2-1 字段名 数据类型 是否为空 数据关系 用户名 varchar(20) 否 主键 密码 varchar(20) 否

 权限 varchar(20) 否

  设备信息表如下表 2-2 所示:

 表 2-2 字段 数据类型 是否为空 数据关系 仪器 id varchar(20) 否 主键 分类 id varchar(20) 否 主键 购买日期 varchar(20) 否 否 总金额 varchar(20) 否 否 生产厂家 varchar(20) 否 否 现领用人 varchar(20) 否 否 现状 varchar(20) 否 否 机房 varchar(20) 否 否 位置 varchar(20) 否 否

 梅春晓 :机房设备管理系统 7

 留言信息表如下表 2-3 所示:

  表 2-3 字段 数据类型 是否为空 数据关系 id varchar(20) 否 是 姓名 varchar(20) 否 否 日期 varchar(20) 否 否 留言 varchar(20) 否 否

 维修信息表如下表 2-4 所示:

 表 2-4 字段 数据类型 是否为空 数据关系 维修人 id varchar(20) 否 是 维修人姓名 varchar(20) 否 否 维修信息 varchar(20) 否 否

 梅春晓 :机房设备管理系统 8 第 3 章 详细设计 本章所介绍的内容是我独立完成部分的详细开发过程。作为管理员在管理的过程中基本需求就是对自己需要的设备的查找,对设备信息的查看,对维修信息的管理。我基于这个需求进行开发本次管理员的相关界面。

 3.1 系统详细设计 3.1.1 管理员登录 登录界面如图 3.1 所示:

  图 3.1

 登录界面 通过对输入的账号和密码进行判断,如果与数据库中的数据匹配,则登录成功,反之弹出错误对话框。主要代码如下所示:

 SqlConnection conn = new SqlConnection();

 conn.ConnectionString = @"server=.;database=设备管理系统;uid=test;pwd=test";

  try

  {

  conn.Open(); //打开连接

  SqlCommand cmd = conn.CreateCommand();

  cmd.CommandText = "select * from AdministratorMessage where AdministratorID=" + """ + textBox1.Text.ToString() + """ + " and Admsercet=" + """ + textBox2.Text.ToString() + """;

  SqlDataReader dr = cmd.ExecuteReader();

  if (dr.Read()) //判断 dr 里是否有数据 {

 MessageBox.Show("登陆成功", "", MessageBoxButtons.OK);

 梅春晓 :机房设备管理系统 9

  管理员界面 frm = new 管理员界面();

  frm.MdiParent = this.MdiParent;

  frm.myParent = this;

  frm.AdminID = textBox1.Text;

  frm.Show();

  }

 else

 {

  MessageBox.Show(" 信 息 错 误 ! 请 重 新 输 入 !", " 警 告 ", MessageBoxButtons.OK);

  textBox1.Text = ""; textBox2.Text = "";

 textBox1.Focus(); }

  dr.Close();

 }

  catch (Exception ee)

  {

  MessageBox.Show(ee.Message);}

  finally

 { conn.Close();} 3.1.2 管理员界面 管理员界面如图 3.2 所示

  图 3.2 管理员界面

 当管理员登录成功后,此界面通过窗体之间的调用弹出,并且运用窗体的Load事件刷新设备信息,然后显示在DataGridView里面。主要代码如下所示:

 private void 管理设备_Load(object sender, EventArgs e)

  {

  SqlConnection conn = new SqlConnection();

 梅春晓 :机房设备管理系统 10

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  SqlDataAdapter da = new SqlDataAdapter("select 仪器 id,分类 id,仪器名称,购买日期,总金额,生产厂家,现领用人,现状,机房,位置 from 设备信息表", conn);

  SqlCommandBuilder cb = new SqlCommandBuilder(da);

  DataSet ds = new DataSet();

  da.Fill(ds);

  RefreshData("");

 } 管理员界面主要分为三个区域:设备信息的查询、设备信息的显示和管理员的操作。

 1. 设备信息的查询 这里的查询我们是用一个刷新函数,通过用户输入的条件运用传参的方法来实现的。

 效果如图 3.3 所示:

  图 3.3

 管理设备界面 在左侧各个 text 或 comboBox 输入内容然后进行添加,添加后会在右侧 DataGridView 重新显示设备信息。其代码如下:

  private void button3_Click(object sender, EventArgs e)

  {

  string sr = dataGridView1.CurrentRow.Cells[1].Value.ToString();

  if (textBox2.Text != sr)

  {

  SqlConnection conn = new SqlConnection();

 梅春晓 :机房设备管理系统 11

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  conn.Open();

  SqlCommand cmd = new SqlCommand();

  cmd.Connection = conn;

  cmd.CommandText = "insert into 设备信息表(仪器 id,分类 id,仪器名称,购买日期,总金额,生产厂家,现领用人,现状,机房,位置)values(@仪器 id,@分类 id,@仪器名称,@购买日期,@总金额,@生产厂家,@现领用人,@现状,@机房,@位置)";

  cmd.Parameters.Add(new SqlParameter("@仪器 id", textBox2.Text));

  cmd.Parameters.Add(new SqlParameter("@分类 id", textBox3.Text));

  cmd.Parameters.Add(new SqlParameter("@ 仪 器 名 称 ", comboBox2.Text));

  cmd.Parameters.Add(new SqlParameter("@ 购 买 日 期 ", textBox4.Text));

  cmd.Parameters.Add(new SqlParameter("@总金额", textBox5.Text));

  cmd.Parameters.Add(new SqlParameter("@ 生 产 厂 家 ", comboBox3.Text));

  cmd.Parameters.Add(new SqlParameter("@ 现 领 用 人 ", textBox6.Text));

  cmd.Parameters.Add(new SqlParameter("@现状", comboBox4.Text));

  cmd.Parameters.Add(new SqlParameter("@机房", textBox8.Text));

  cmd.Parameters.Add(new SqlParameter("@位置", textBox9.Text));

  cmd.ExecuteNonQuery();

  conn.Close();

  RefreshData("");}

  else

  { MessageBox.Show("文本输入错误,不能输入相同 id,请重新输入!");} }

 为满足广大师生的需求,我们在设备信息的查询设计中,设计了精确的查询方式:是通过管理员在 comboBox 中选择的条件和其输入的条件进行一个精确的查询。这样可以更精确的找到自己所想要的设备信息

 如下图 3.4 所示查询截图

 梅春晓 :机房设备管理系统 12

 图 3.4 管理设备界面

  下面的这些代码就是根据管理员在 comboBox 中选择的条件和在 textBox 输入的条件根据类型赋值给 strWhere,然后再传给上面的刷新函数即可完成一个精确的查询

 private void button1_Click(object sender, EventArgs e)

  {

  string strwhere = "";

  switch (comboBox1.Text)

  {

  case "按仪器名称":

  strwhere = "仪器名称 like "%" + textBox1.Text + "%"";

  break;

  case "按分类 id":

  strwhere = "分类 id like "%" + textBox1.Text + "%"";

  break;

  case "按机房":

  strwhere = "机房 like "%" + textBox1.Text + "%"";

  break;

  case "按现状":

  strwhere = "现状 like "%" + textBox1.Text + "%"";

  break;

 梅春晓 :机房设备管理系统 13

  }

  RefreshData(strwhere);

  } 3.1.3 留言信息 在管理员界面点击留言板这个按钮,通过窗体之间的调用,会弹出一个维修登记界面并会显示出所有的设备的信息。界面如下图 3.5:

 图 3.5

 留言板界面

  你需要刷新 dataGridView 以显示操作增,删,改而出现的新内容,这时你就需要定义一个函数来实现刷新 dataGridView 代码如下:

 public void RefreshData(string strwhere)

  {

  dataGridView1.AutoGenerateColumns = false;

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  SqlDataAdapter da = new SqlDataAdapter("select id,姓名,日期,留言 from 留言表", conn);

  DataSet ds = new DataSet();

 梅春晓 :机房设备管理系统 14

  da.Fill(ds);

  if (strwhere != "")

  {

  ds.Tables[0].DefaultView.RowFilter = strwhere;

  }

  dataGridView1.DataSource = ds.Tables[0];

  } 实现在 dataGridView 中选中一行向左边各控件腾写数据

  代码如下:

 private void dataGridView1_SelectionChanged(object sender, EventArgs e)

  {

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  conn.Open();

  SqlCommand cmd = new SqlCommand();

  cmd.Connection = conn;

  cmd.CommandText = "select id,姓名,日期,留言 from 留言表 where 日期=@日期";

  cmd.Parameters.Add(new SqlParameter("@ 日 期 ", dataGridView1.CurrentRow.Cells[2].Value.ToString()));

  SqlDataReader dr = cmd.ExecuteReader();

  if (dr.Read())

  {

  textBox2.Text = dr["id"].ToString();

  textBox3.Text = dr["姓名"].ToString();

  textBox4.Text = dr["日期"].ToString();

  textBox5.Text = dr["留言"].ToString();

 }

  dr.Close();

  conn.Close();

  }

 梅春晓 :机房设备管理系统 15

 3.1.4 维修登记 在管理员界面点击维修人员信息这个按钮,通过窗体之间的调用,会弹出一个维修登记界面并会显示出所有的设备的信息。界面如下图 3.6

 图 3.6

 维修登记界面 通过窗体之间的调用,会弹出一个维修登记界面。

 代码如下:

 private void button8_Click(object sender, EventArgs e)

  {

  维修 wx = new 维修();

  wx.Tag = this.FindForm();

  this.Visible = false;

  wx.ShowDialog();

  this.Close();

  }

 通过界面的 Load 事件,显示所有维修设备信息。代码如下:

 private void 维修_Load(object sender, EventArgs e)

  {

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  SqlDataAdapter da = new SqlDataAdapter("select 仪器 id,机房,位置,现状 from 设备信息表", conn);

  SqlCommandBuilder cb = new SqlCommandBuilder(da);

 梅春晓 :机房设备管理系统 16

  DataSet ds = new DataSet();

  da.Fill(ds);

  RefreshData("");

  }

 通过管理员在 comboBox 中选择的条件和其输入的条件进行一个精确的查询。便于管理人员对设备信息的精确掌握.更清楚

 private void button1_Click(object sender, EventArgs e)

  {

  string strwhere = "";

  switch (comboBox1.Text)

  {

  case "按所在机房":

  strwhere = "机房 like "%" + textBox1.Text + "%"";

  break;

  case "按所在位置":

  strwhere = "位置 like "%" + textBox1.Text + "%"";

  break;

  case "按现状":

  strwhere = "现状 like "%" + textBox1.Text + "%"";

  break;

  case "按设备 id":

  strwhere = "仪器 id like "%" + textBox1.Text + "%"";

  break;

 }

  RefreshData(strwhere);

  }

 点击返回按钮时,通过窗体之间的调用,会设备信息界面。关闭维修登记界面 代码如下

 private void button4_Click(object sender, EventArgs e)

  {

  管理设备 gsb = new 管理设备();

  gsb.Tag = this.FindForm();

  this.Visible = false;

  gsb.ShowDialog();

  this.Close();

  } 修改维修登记信息需要先连接并打开数据库,然后利用 sql 语句进行修改操作,然后传参重新刷新 dataGridView,修改功能就实现了 主要代码如下:

  private void button5_Click(object sender, EventArgs e)

  {

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

 梅春晓 :机房设备管理系统 17

  conn.Open();

  SqlCommand cmd = new SqlCommand();

  cmd.Connection = conn;

  cmd.CommandText = "update 设备信息表 set 仪器 id=@仪器 id, 机房=@机房,位置=@位置,现状=@现状 where 仪器 id=@old 仪器 id";

  cmd.Parameters.Add(new SqlParameter("@仪器 id", textBox2.Text));

  cmd.Parameters.Add(new SqlParameter("@机房", textBox3.Text));

  cmd.Parameters.Add(new SqlParameter("@位置", textBox4.Text));

  cmd.Parameters.Add(new SqlParameter("@现状", comboBox2.Text));

  cmd.Parameters.Add(new SqlParameter("@old 仪 器 id", dataGridView1.CurrentRow.Cells[0].Value.ToString()));

  cmd.ExecuteNonQuery();

  conn.Close();

  RefreshData("");

  MessageBox.Show("修改成功");} 3.1.5 状态登记 在维修登记界面点击状态登记这个按钮,通过窗体之间的调用,会弹出一个状态登记界面并会显示出所有损坏了的设备的信息。界面如下图 3.7

  图 3.7

 状态登记界面

  当管理员需要对维修信息进行增加,删除,修改的时候会点击“维修信息”这个按钮通过界面的 Load 事件,进入状态登记页面,如上图 3.7

  进入“状态登记”页面代码如下:

 梅春晓 :机房设备管理系统 18

 private void button2_Click(object sender, EventArgs e)

  {

  状态登记 zt = new 状态登记();

  zt.Tag = this.FindForm();

  this.Visible = false;

  zt.ShowDialog();

  this.Close();

  } 进行增加,删除两个功能的时候,你会发现你有可能会删除正确的信息,这个时候你就要把 dataGridView 里面的内容赋值给左面的 textbox 和 comobox 让你清楚的看到信息以保你不会犯错 代码如下:

 增加功能:先连接并打开数据库,然后利用 sql 语句进行添加操作,然后传参重新刷新dataGridView;增加功能就实现了。

 private void button3_Click(object sender, EventArgs e)

  {

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  conn.Open();

  SqlCommand cmd = new SqlCommand();

  cmd.Connection = conn;

  cmd.CommandText = "insert into 维修表(仪器 id,现状,维修人 id,维修人姓名,维修信息)values(@仪器 id,@现状,@维修人 id,@维修人姓名,@维修信息)";

  cmd.Parameters.Add(new SqlParameter("@维修人 id", textBox1.Text));

  cmd.Parameters.Add(new SqlParameter("@维修人姓名", textBox2.Text));

  cmd.Parameters.Add(new SqlParameter("@维修信息", textBox3.Text));

  cmd.Parameters.Add(new SqlParameter("@仪器 id", textBox4.Text));

  cmd.Parameters.Add(new SqlParameter("@现状", textBox5.Text));

  cmd.ExecuteNonQuery();

  conn.Close();

  RefreshData("");

  }

 删除功能:先连接并打开数据库,然后利用 sql 语句进行删除操作,然后传参重新刷新dataGridView,删除功能就实现了

 private void button2_Click(object sender, EventArgs e)

  {

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  conn.Open();

  SqlCommand cmd = new SqlCommand();

  cmd.Connection = conn;

  cmd.CommandText = "delete from 维修表 where 仪器 id=@仪器 id";

 梅春晓 :机房设备管理系统 19

  cmd.Parameters.Add(new SqlParameter("@ 仪 器 id", dataGridView1.CurrentRow.Cells[0].Value.ToString()));

  cmd.ExecuteNonQuery();

  conn.Close();

  RefreshData("");

  } 腾写功能:实现在 dataGridView 中选中一行向左边各控件腾写关于维修设备的数据

 主要代码如下:

 private void dataGridView1_SelectionChanged(object sender, EventArgs e)

  {

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  conn.Open();

  SqlCommand cmd = new SqlCommand();

  cmd.Connection = conn;

  cmd.CommandText = "select

 仪器 id,现状,维修人 id,维修人姓名,维修信息 from 维修表 where 仪器 id=@仪器 id";//and 设备 id=@设备 id

  cmd.Parameters.Add(new SqlParameter("@ 仪 器 id ", dataGridView1.CurrentRow.Cells[0].Value.ToString()));

  SqlDataReader dr = cmd.ExecuteReader();

  if (dr.Read())

  {

  textBox1.Text = dr["维修人 id"].ToString();

  textBox2.Text = dr["维修信息"].ToString();

  textBox3.Text = dr["维修人姓名"].ToString();

  textBox4.Text = dr["仪器 id"].ToString();

  textBox5.Text = dr["现状"].ToString();

  }

  dr.Close();

  conn.Close();

  } 你需要刷新 dataGridView 以显示操作增,删,改而出现的新内容,这时你就需要定义一个函数来实现刷新 dataGridView 主要代码如下:

 public void RefreshData(string strwhere)

  {

  dataGridView1.AutoGenerateColumns = false;

  SqlConnection conn = new SqlConnection();

  conn.ConnectionString = "server=.;database=mydb;uid=test;pwd=test";

  SqlDataAdapter da = new SqlDataAdapter("select 仪器 id,现状,维修人 id,维修人姓名,维修信息 from 维修表

 ", conn);

  DataSet ds = new DataSet();

  da.Fill(ds);

  if (strwhere != "")

  {

  ds.Tables[0].DefaultView.RowFilter = strwhere;

 梅春晓 :机房设备管理系统 20

  }

  dataGridView1.DataSource = ds.Tables[0];

  }

 梅春晓 :机房设备管理系统 21 第 4 章

 结束语 这次的二级课题实践,经过三个星期的时间,我们终于完成了。通过这次实践,我学到了很多东西,不仅对 Visual Studio2010 和 SQL Server2008 进一步掌握,更重要的是对进行软件开发的整体设计流程及思维方法有了深刻的认识,由于时间和经验上的不足,遇到问题思路不够清晰,其中也还存在很多不足的地方,对部分问题考虑的不是很周全,这些都是我以后需要去继续努力的。

 在系统的设计上,本来我自以为已经很好了,让老师验收的时候应该也会比较顺利,可是当我找到老师验收时,我这自以为很好的系统,在老师的检查下立马原形毕露,这时我才意识到我所学知识的匮乏,以及对系统理解的片面性,但是这些困难并没有因此打败我,让我为了我所做的系统达到比较完美的地步提供了动力,最终完成了我的作品,我为我的作品感到自豪,我也为自己感到自豪 总之,这次二级课题使我受益匪浅,不论从理论上还是从实践经验上对我都有了一定的提高,为今后走向工作岗位在学习和工作中打下良好的基础

 最后,我要向我的指导老师范老师在这次的二级课题实践的过程中给予我细心指导和帮助表示衷心的感谢!

 梅春晓 :机房设备管理系统 22 参考文献 [1] 童爱红. Visual C#.NET 应用教程[M]. 北京:人民邮电出版社,2004.3 [2] 李兰友 杨晓光. Visual C#.NET 程序设计[M] 北京:清华大学出版社,2004.5 [3]吴绍兴 刘岩 明廷堂.C#项目开发案例导航[M]:北京.电子工业出版社.2012.3 [4]李春葆 谭成予 曾平 曾慧.C#程序设计教程(第二版)[M].北京:清华大学出版

 社,2013.3 [5]车战斌.C#应用程序开发[M]:北京.科学出版社.2013.7 [6]何玉洁.数据库原理与应用教程[M]:北京.机械工业出版社.2010.8 [7]王骞 陈宇 管马舟.C#程序设计经典 300 例[M]:北京.电子工业出版社.2013.8

 梅春晓 :机房设备管理系统 23 指导教师评语

 成绩:

 实践过程表现 (30%)

 系统、工作验收 (30%)

 课题报告 (40%)

 总评成绩

  指导教师签名:

 年

  月

  日

 梅春晓 :机房设备管理系统 1

 梅春晓 :机房设备管理系统 2

相关热词搜索: 课题 春晓 范文