设备管理系统程序设计DOC 28页Word下载.docx
- 文档编号:22685970
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:32
- 大小:1.01MB
设备管理系统程序设计DOC 28页Word下载.docx
《设备管理系统程序设计DOC 28页Word下载.docx》由会员分享,可在线阅读,更多相关《设备管理系统程序设计DOC 28页Word下载.docx(32页珍藏版)》请在冰豆网上搜索。
2.3运行环境
(1)WINDOWS2000/XP系统
(2)VisualStudio2005编译环境
2.4开发工具
C#:
C#(CSharp)是微软为NETFramework量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。
3概要设计与详细设计
3.1系统流程图
首先要有一个登录模块对登录用户进行验证,如果验证成功则进入系统的主窗体,登录主窗体之后管理员以操作所有的功能:
查询、修改、增加设备信息、辅助工具、退出。
开始
用户名及密码
选择操作类型
查询设备信息
修改设备信息
添加设备信息
删除设备信息
设备信息表
退出
N
Y
图3.1系统流程图
3.2数据库设计
3.2.1建立数据字典
在开发设备管理系统之前,分析了改系统的数据量。
选择MicrosoftSQLServer2005数据库存储这些信息,数据库命名为MyDevice,在数据库中创建了2个数据表用于不同的信息。
1.设备管理员数据字典
名字:
设备管理员表(User)
描述:
记录管理员的具体详细信息
定义:
设备管理员表=用户编号+用户名+密码
位置:
设备管理数据库
2.设备数据字典
设备信息表(equipment)
记录设备的具体详细信息
设备信息表=设备编号+设备名称+设备数量+设备价格
3.2.2数据库详细设计
表1User表结构
列名
数据类型
说明
userId
int
用户编号,主键,标识列,表示增量1,标识种子1
UserName
nvarchar(50)
用户名,非空
password
密码,非空
表2equipment表结构
id
设备编号,主键,标识列,表示增量1,标识种子1
name
设备名称,非空
price
money
count
设备数量,非空
4编码与实现
4.1分析
(1)登陆界面的设计——打开VisualStudio2005,新建一个名为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.cs
usingSystem;
usingSystem.Configuration;
……………………
namespaceDeviceSystem
{…………………………
privatevoidbtnYes_Click(objectsender,EventArgse)
{
stringuserName=txtName.Text;
stringpassword=txtPwd.Text;
stringcons=ConfigurationManager.ConnectionStrings["
DeviceSystem.Properties.Settings.MyDeviceConnectionString"
].ConnectionString;
SqlConnectionconnection=newSqlConnection(cons);
//获取用户名和密码匹配的行的数量的SQL语句stringsql=String.Format("
selectcount(*)from[User]whereusername='
{0}'
andpassword='
{1}'
"
userName,password);
try{
connection.Open();
//打开数据库连接
SqlCommandcommand=newSqlCommand(sql,connection);
//创建Command对象
intnum=(int)command.ExecuteScalar();
//执行查询语句,返回匹配的行数
if(num>
0)
{//如果有匹配的行,则表明用户名和密码正确
MessageBox.Show("
欢迎进入设备管理系统!
"
登录成功"
MessageBoxButtons.OK,MessageBoxIcon.Information);
frmMainmainForm=newfrmMain();
//创建主窗体对象
mainForm.Show();
//显示窗体
this.Visible=false;
//登陆窗体隐藏
}
else{
MessageBox.Show("
您输入的用户名或密码错误!
登录失败"
MessageBoxButtons.AbortRetryIgnore,MessageBoxIcon.Exclamation);
}//MessageBoxIcon.Exclamation是由三角符号组成的警惕图
catch(Exceptionex){
MessageBox.Show(ex.Message,"
操作数据库出错啦!
MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
finally{
connection.Close();
//关闭数据库连接
privatevoidbtnCancel_Click(objectsender,EventArgse)
txtName.Text="
;
txtPwd.Text="
txtName.Focus();
//将光标指定在txtName上
}
2.主窗体frmMain.cs
usingSystem.Windows.Forms;
privatevoidtimer1_Tick(objectsender,EventArgse)
DateTimedt=DateTime.Now;
//获取当前时间
tssData.Text=dt.ToLongDateString();
privatevoidtsmExit_Click(objectsender,EventArgse)
{Application.Exit();
privatevoidtsmSelecName_Click(objectsender,EventArgse)
frmselecNameselectname=newfrmselecName();
//创建子窗体对象
selectname.MdiParent=this;
//指定当前窗体为MDI父窗体
selectname.Show();
//打开子窗体
tssStatus.Text="
按名称查询"
//在状态栏中显示操作内容
privatevoidtsmSelecPrice_Click(objectsender,EventArgse)
frmselecPriceselectprice=newfrmselecPrice();
selectprice.MdiParent=this;
selectprice.Show();
按单价查询"
privatevoidtsmUpdate_Click(objectsender,EventArgse)
frmDataMaintdatamaint=newfrmDataMaint();
datamaint.MdiParent=this;
datamaint.Show();
修改数据"
privatevoidtsmabout_Click(objectsender,EventArgse)
frmAboutabout=newfrmAbout();
about.MdiParent=this;
//指定当前窗体为MDI父窗体
about.Show();
关于我们"
privatevoidtsmjsq_Click(objectsender,EventArgse)
frmjsqjsq=newfrmjsq();
jsq.MdiParent=this;
jsq.Show();
计算器"
privatevoidtsmdate_Click(objectsender,EventArgse)
frmTimetime=newfrmTime();
time.MdiParent=this;
time.Show();
//打开子窗体
万年历"
privatevoidtsmdel_Click(objectsender,EventArgse)
frmDeletedevicedelete=newfrmDeletedevice();
delete.MdiParent=this;
delete.Show();
设备数据维护"
3.子窗体frmMain.cs
usingSystem.Data.SqlClient;
{……………………
publicfrmselecName()
InitializeComponent();
].ConnectionString
connection=newSqlConnection(cons);
privatevoidfrmselecName_Load(objectsender,EventArgse)
//TODO:
这行代码将数据加载到表“myDeviceDataSet.equipment”中。
您可以根据需要移动或移除它。
this.equipmentTableAdapter.Fill(this.myDeviceDataSet.equipment);
privatevoidbtnSelectName_Click(objectsender,EventArgse)
stringname=textBox1.Text;
//按名称查询设备
stringsql=String.Format("
select*fromequipmentwherenamelike'
%{0}%'
name);
try
SqlDataAdapterdataAdapter=newSqlDataAdapter(sql,connection);
DataSetdatSet=newDataSet("
equipment"
);
dataAdapter.Fill(datSet);
//设置各列的显示数据字段
dataGridView1.Columns[0].DataPropertyName="
id"
dataGridView1.Columns[1].DataPropertyName="
name"
dataGridView1.Columns[2].DataPropertyName="
price"
dataGridView1.Columns[3].DataPropertyName="
count"
dataGridView1.DataSource=datSet.Tables[0];
catch(Exceptionex)
MessageBox.Show(ex.Message,"
MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
privatevoidbutton1_Click(objectsender,EventArgse)
this.Close();
4.子窗体frmselecPrice.cs
usingSystem.Drawing;
{……………………………
publicfrmselecPrice()
privatevoidbtnselectPrice_Click(objectsender,EventArgse)
//decimal表示十进制数
decimalprice1,price2;
price1=Convert.ToDecimal(textBox1.Text);
price2=Convert.ToDecimal(textBox2.Text);
catch
price1=0;
price2=1000000M;
//默认为最大值
if(price1>
price2)
{//如果price1>
price2,交换两者
decimaltemp=price1;
price1=price2;
price2=temp;
//按价格查询设备
stringsql=String.Format("
select*fromequipmentwherepricebetween{0}and{1}"
price1,price2);
//设置各列的显示数据字段
privatevoidfrmselecPrice_Load(objectsender,EventArgse)
5.子窗体frmDataMaint.cs
privatevoidfrmDataMaint_Load(objectsender,EventArgse)
privatevoidbtnsave_Click(objectsender,EventArgse)
{
equipmentTableAdapter.Update(myDeviceDataSet.equipment);
privatevoidbtnguanbi_Click(objectsender,EventArgse)
{this.Close();
privatevoidbtnrefresh_Click(objectsender,EventArgse)
equipmentTableAdapter.Fill(myDeviceDataSet.equipment);
}
6.子窗体frmDeletedevice.cs
{……………………
publicpartialclassfrmDeletedevice:
Form
SqlConnectioncon;
SqlDataAdapterda;
DataSetds;
SqlCommandcom;
publicfrmDeletedevice()
privatevoidfrmDeletedevice_Load(objectsender,EventArgse)
BKY();
con=newSqlConnection(cons);
////绑定cbosm
da=newSqlDataAdapter("
selectnamefromequipment"
con);
ds=newDataSet();
da.Fill(ds,"
cbosm.DataSource=ds.Tables["
];
cbo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设备管理系统程序设计DOC 28页 设备管理 系统 程序设计 DOC 28