当前位置:文档之家› 设备管理系统程序设计

设备管理系统程序设计

《C#程序设计》大作业题目:设备管理系统专业:计算机科学与技术s 学号: 121096143姓名:朱晓敏完成日期: 2012/11/6目录1 前言 (2)2 需求分析 (2)2.1要求 (2)2.2任务 (2)2.3运行环境 (2)2.4开发工具 (2)3 概要设计与详细设计 (3)3.1系统流程图 (3)3.2数据库设计 (4)3.2.1建立数据字典 (4)3.2.2数据库详细设计 (4)4 编码与实现 (5)4.1分析 (5)4.2具体代码实现 (7)4.3界面实现 (16)5 课程设计总结 (24)参考文献 (25)评语及成绩 01 前言设计一个设备管理系统,该系统主要针对设备管理员。

系统首先要求用户登录,用户必须输入正确的用户名和密码;系统主界面包括设备查询功能及数据维护功能,设备查询功能是按一定的条件查询所需要的设备信息,数据维护主要是通过增加或删除来修改数据。

2 需求分析2.1要求(1)用Csharp语言实现程序设计;(2)采用.NET开发工具来设计主窗体和子窗体等;(3)画出系统模块的流程图;(4)完成数据库的设计;(5)界面友好(良好的人机互交),程序要有注释。

2.2任务(1)设计一个登陆窗体和主窗体,7个子窗体来显示相关信息;(2)管理员必须输入正确的用户名和密码,才能进入主窗体进行相关操作;(3)画出所有模块的流程图;(4)完成数据库的设计;(5)编写代码;(6)程序分析与调试。

2.3运行环境(1)WINDOWS2000/XP系统(2)Visual Studio 2005编译环境2.4开发工具C#: C#(C Sharp)是微软为NET Framework量身订做的程序语言,C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。

3 概要设计与详细设计3.1系统流程图首先要有一个登录模块对登录用户进行验证,如果验证成功则进入系统的主窗体,登录主窗体之后管理员以操作所有的功能:查询、修改、增加设备信息、辅助图3.1系统流程图3.2数据库设计3.2.1建立数据字典在开发设备管理系统之前,分析了改系统的数据量。

选择Microsoft SQL Server2005数据库存储这些信息,数据库命名为MyDevice,在数据库中创建了2个数据表用于不同的信息。

1.设备管理员数据字典名字:设备管理员表(User)描述:记录管理员的具体详细信息定义:设备管理员表=用户编号+用户名+密码位置:设备管理数据库2.设备数据字典名字:设备信息表(equipment)描述:记录设备的具体详细信息定义:设备信息表=设备编号+设备名称+设备数量+设备价格位置:设备管理数据库3.2.2数据库详细设计表1 User表结构表2 equipment表结构4 编码与实现4.1分析(1)登陆界面的设计——打开Visual Studio 2005,新建一个名为DeviceSystem 项目,然后打开一个窗体并命名为userlogin.cs。

在此窗体中添加2个标签(用户名和密码)、2个按钮(确定和取消)和2个textBox等,如图所示图4.1登陆窗体(2)系统主窗体的设计——添加窗体并命名为frmMain.cs,在此窗体添加一个MenuStrip控件,一个ToolStrip控件及3个按钮,一个Time控件,toolStripStatus 控件并分别设置各属性,如图所示图4.2系统主窗体(3)子窗体的设计——添加4个窗体并依此命名为frmselecName.cs、frmselecPrice.cs、frmDataMaint.cs、frmDeletedevice.cs并分别添加工具控件及设置各属性,如图所示图4.3按名称查询窗图4.4按价格查询窗体图4.5数据维护窗体4.2具体代码实现1.登录窗体—frmlogin.csusing System;using System.Configuration;……………………namespace DeviceSystem{…………………………private void btnYes_Click(object sender, EventArgs e){string userName = txtName.Text;string password = txtPwd.Text;string cons =ConfigurationManager.ConnectionStrings["DeviceSystem.Properties.Settings.MyDevice ConnectionString"].ConnectionString;SqlConnection connection = new SqlConnection(cons);//获取用户名和密码匹配的行的数量的SQL语句string sql=String.Format("select count(*) from [User] where username='{0}'and password='{1}'",userName,password);try{connection.Open(); //打开数据库连接SqlCommand command = new SqlCommand(sql,connection);//创建Command对象int num = (int)command.ExecuteScalar();//执行查询语句,返回匹配的行数if (num > 0){ //如果有匹配的行,则表明用户名和密码正确MessageBox.Show("欢迎进入设备管理系统!", "登录成功", MessageBoxButtons.OK, rmation);frmMain mainForm=new frmMain(); //创建主窗体对象mainForm.Show(); //显示窗体this.Visible=false; //登陆窗体隐藏}else {MessageBox.Show("您输入的用户名或密码错误!", "登录失败", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Exclamation);}//MessageBoxIcon.Exclamation是由三角符号组成的警惕图}catch (Exception ex){MessageBox.Show(ex.Message,"操作数据库出错啦!",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);}finally{connection.Close(); //关闭数据库连接}}private void btnCancel_Click(object sender, EventArgs e){txtName.Text = "";txtPwd.Text = "";txtName.Focus();//将光标指定在txtName上}}}2.主窗体frmMain.csusing System;using System.Windows.Forms;……………………namespace DeviceSystem{…………………………private void timer1_Tick(object sender, EventArgs e){DateTime dt = DateTime.Now; //获取当前时间tssData.Text = dt.ToLongDateString() ;}private void tsmExit_Click(object sender, EventArgs e){ Application.Exit();}private void tsmSelecName_Click(object sender, EventArgs e){frmselecName selectname = new frmselecName(); //创建子窗体对象selectname.MdiParent = this; //指定当前窗体为MDI父窗体selectname.Show(); //打开子窗体tssStatus.Text = "按名称查询"; //在状态栏中显示操作内容}private void tsmSelecPrice_Click(object sender, EventArgs e){frmselecPrice selectprice = new frmselecPrice(); //创建子窗体对象selectprice.MdiParent = this; //指定当前窗体为MDI父窗体selectprice.Show(); //打开子窗体tssStatus.Text = "按单价查询"; //在状态栏中显示操作内容}private void tsmUpdate_Click(object sender, EventArgs e){frmDataMaint datamaint = new frmDataMaint(); //创建子窗体对象datamaint.MdiParent = this; //指定当前窗体为MDI父窗体datamaint.Show(); //打开子窗体tssStatus.Text = "修改数据"; //在状态栏中显示操作内容}private void tsmabout_Click(object sender, EventArgs e){frmAbout about = new frmAbout(); //创建子窗体对象about.MdiParent = this; / /指定当前窗体为MDI父窗体about.Show(); //打开子窗体tssStatus.Text = "关于我们"; //在状态栏中显示操作内容}private void tsmjsq_Click(object sender, EventArgs e){frmjsq jsq = new frmjsq(); //创建子窗体对象jsq.MdiParent = this; //指定当前窗体为MDI父窗体jsq.Show(); //打开子窗体tssStatus.Text = "计算器"; //在状态栏中显示操作内容}private void tsmdate_Click(object sender, EventArgs e){frmTime time = new frmTime(); //创建子窗体对象time.MdiParent = this; //指定当前窗体为MDI父窗体time.Show(); / /打开子窗体tssStatus.Text = "万年历"; //在状态栏中显示操作内容}private void tsmdel_Click(object sender, EventArgs e){frmDeletedevice delete = new frmDeletedevice(); //创建子窗体对象delete.MdiParent = this; //指定当前窗体为MDI父窗体delete.Show(); //打开子窗体tssStatus.Text = "设备数据维护"; //在状态栏中显示操作内容}}}3.子窗体frmMain.csusing System;using System.Windows.Forms;using System.Data.SqlClient;using System.Configuration;……………………namespace DeviceSystem{ ……………………public frmselecName(){InitializeComponent();string cons =ConfigurationManager.ConnectionStrings["DeviceSystem.Properties.Settings.MyDeviceC onnectionString"].ConnectionStringconnection = new SqlConnection(cons);}private void frmselecName_Load(object sender, EventArgs e){// TODO: 这行代码将数据加载到表“myDeviceDataSet.equipment”中。

相关主题