Java课程设计报告设备管理系统.docx

上传人:b****5 文档编号:3978232 上传时间:2022-11-26 格式:DOCX 页数:9 大小:41.45KB
下载 相关 举报
Java课程设计报告设备管理系统.docx_第1页
第1页 / 共9页
Java课程设计报告设备管理系统.docx_第2页
第2页 / 共9页
Java课程设计报告设备管理系统.docx_第3页
第3页 / 共9页
Java课程设计报告设备管理系统.docx_第4页
第4页 / 共9页
Java课程设计报告设备管理系统.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Java课程设计报告设备管理系统.docx

《Java课程设计报告设备管理系统.docx》由会员分享,可在线阅读,更多相关《Java课程设计报告设备管理系统.docx(9页珍藏版)》请在冰豆网上搜索。

Java课程设计报告设备管理系统.docx

Java课程设计报告设备管理系统

 

JAVA课程设计报告

 

课题名称:

设备管理系统

 

1项目总体规划1

2系统需求分析4

2.1用户管理基本功能分析5

2.2设备管理基本功能分析6

2.3数据管理基本功能分析2

3数据库设计1

4关键技术和难点1

4.1数据库连接3

4.2SQL语句的使用2

5系统详细设计与实现1

5.1用户管理设计与实现5

5.2设备管理设计与实现6

5.3数据管理设计与实现2

6项目测试1

7参考文献1

 

摘要:

随着社会生产活动中自动化水平越来越高,设备的监控及其数据的存储越来越重要。

本系统使用JAVA语言,结合实际编写了该设备管理系统,可以实现对数据库的准确操作,完成用户的登录、修改密码、添加用户、删除用户,及设备的添加和删除,设备数据的添加、删除和查询等一系列功能。

 

关键词:

设备管理系统数据库技术JDBCSQL语句

 

1.项目总体规划

随着社会生产活动中自动化水平越来越高,设备的监控及其数据的存储越来越重要。

数据库技术已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心.对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用.随着我国市场经济的迅速发展,在工厂中,为了有效管理各种设备及其在运作过程中产生的数据,开发一个方便高效的管理软件是非常必要的。

本系统使用JAVA 语言,结合实际编写了该设备管理系统,可以实现对数据库的准确操作,完成用户的登录、修改密码、添加用户、删除用户,及设备的添加和删除,设备数据的添加、删除和查询等一系列功能。

本系统开始运行时首先进入登陆界面,用户输入正确的用户名及密码后进入主窗体,然后通过点击主窗体的各项菜单进入各项功能。

2.系统需求分析

2.1用户管理基本功能分析

系统中用户需要正确的密码才能获得能录权限,登录之后可以进行一系列数据操作。

其功能定义如图1所示。

图1

2.2设备管理基本功能分析

设备管理可以实现对设备的添加和删除,其功能定义如图2所示。

图2

2.3数据管理基本功能分析

数据管理室系统的核心,可以实现对数据的添加、删除及查询,其功能定义如图3所示。

图3

3。

数据库设计

本系统使用微软公司的ACCESS数据,数据源名称为”shebei".根据系统的需求,

经过详细的分析设计,本系统数据库中各个数据表的字段定义和说明如下。

users(用户信息表),存放注册用户的信息,如表1.

表1users

字段名称

数据类型

大小

描述

username

文本

50

用户名

password

文本

50

密码

shebeilist(设备列表),存放设备列表,如表2.

表2shebeilist

字段名称

数据类型

大小

描述

id

数字(自动编号)

4

ID号

shebeiname

文本

50

设备名称

shebei1(设备信息表),名为shebei1的设备的各项数据(程序中每台设备建一个数据表),如表3.

表3shebei1

字段名称

数据类型

大小

描述

id

数字(自动编号)

4

ID号

dianya

数字

4

电压值

dianliu

数字

4

电流值

zhuangtai

文本

50

状态

guzhangcs

数字

4

故障次数

4.关键技术和难点

4。

1数据库连接

JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC访问ACCESS有两种方式,一种是JDBC-ODBC桥接式,另一种是ODBC直接方式。

本系统使用的是ODBC直接方式。

ODBC直接连接方式采用了JDBC直接连接思想。

他是在程序中直接指出需要使用的ODBC驱动程序,从而免去了配置数据源的麻烦,提高程序的可移植性。

首先需要加载驱动程序,代码如下:

try

Class.forName(”sun。

jdbc。

odbc。

JdbcOdbcDriver");

}

catch(ClassNotFoundExceptione)

System.out.println(”加载驱动程序错误!

"+e);

然后就可以通过数据源连接到数据库,关键代码如下:

Connectionconn;

Statementstmt;

ResultSetrs;

Stringurl=”jdbc:

odbc:

Driver={MicroSoftAccessDriver(*.mdb)};DBQ=shebei.mdb”;

conn=DriverManager。

getConnection(url,"”,"”);

stmt=conn。

createStatement();

rs=stmt。

executeQuery("SELEC*FROMuserswhereusername=”+"'”+t_name。

getText()+”’”);

rs.close();

stmt.close();

conn.close();

4.2SQL语句的使用

系统开发过程中关键部分是SQL语句的使用。

SQL(StructuredQueryLanguage)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL语言包含4个部分:

  数据定义语言(DDL),例如:

CREATE、DROP、ALTER等语句。

  数据操作语言(DML),例如:

INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

  数据查询语言(DQL),例如:

SELECT语句。

数据控制语言(DCL),例如:

GRANT、REVOKE、COMMIT、ROLLBACK等语句。

SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作.它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的SQL接口。

它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出。

例如程序中用到的有:

”INSERTINTO”+s+”(dianya,dianliu,zhuangtai,guzhangcs)VALUES("+s1+","+s2+”,"+s3+",”+s4+")"

"CREATETABLE"+s+”(idCOUNTER(1,1),dianyavarchar(50),dianliuvarchar(50),zhuangtaivarchar(50),guzhangcsINTEGER)"

”DROPTABLE"+s

”DELETEFROMusersWHEREusername="+s1

”SELECT*FROMuserswhereusername="+"'”+t_name.getText()+"’"

"UPDATEusersSETpassword=”+s3+”WHEREusername="+s2

5系统详细设计与实现

5.1用户管理设计与实现

用户管理中最重要的登陆,此时要核对用户名和密码是否一致。

关键代码如下:

conn=DriverManager.getConnection(url,”",”");

stmt=conn。

createStatement();

rs=stmt。

executeQuery("SELECT*FROMuserswhereusername="+"’”+t_name。

getText()+”’");

while(rs。

next())

{sname=rs。

getString

(1);

spass=rs.getString

(2);

if(t_name.getText().equals(sname)&&t_pass.getText().equals(spass))

l_error.setText(”登陆成功”);

t_name。

setText(”");

t_pass.setText(”");

myframe=newMyFrame();

this.dispose();

break;

else

{

l_error。

setText("用户名或密码错误");

until++;

}

5。

2设备管理设计与实现

设备管理模块中添加设备实际上是在数据库中新建一个表,删除设备实质上是删除一个表。

添加设备关键代码如下:

conn=DriverManager。

getConnection(url,”","");

stmt=conn。

createStatement();

rs=stmt.executeQuery(”SELECT*FROMshebeilistwhereshebeiname="+"'”+t_name。

getText()+"’");

if(rs。

next())

{

a1.setText(”设备已经存在,添加失败!

");

else

{

Stringtemp=”INSERTINTOshebeilist(shebeiname)VALUES("+s1+")";

stmt。

executeUpdate(temp);

Stringtemp1=”CREATETABLE”+s+”(idCOUNTER(1,1),dianyavarchar(50),dianliuvarchar(50),zhuangtaivarchar(50),guzhangcsINTEGER)”;

stmt.execute(temp1);

a1.setText(”设备添加成功!

");

rs。

close();

stmt.close();

conn。

close();

5。

3数据管理设计与实现

此模块是对数据库中某个设备的某一条数据进行操作,添加、删除或查询,其中查询功能关键代码如下:

conn=DriverManager。

getConnection(url,”",””);

stmt=conn。

createStatement();

if(s1.equals("ID"))

rs=stmt.executeQuery(”SELECT*FROM”+s+"WHEREidLIKE"+"’”+t_guanjian。

getText()。

trim()+”'”);

elseif(s1。

equals("电压"))

rs=stmt。

executeQuery("SELECT*FROM”+s+"WHEREdianyaLIKE"+"'”+t_guanjian。

getText().trim()+"’”);

elseif(s1。

equals("状态"))

rs=stmt。

executeQuery("SELECT*FROM”+s+”WHEREzhuangtaiLIKE”+”'"+t_guanjian。

getText()。

trim()+"'");

elseif(s1.equals(”故障次数”))

{

rs=stmt.executeQuery(”SELECT*FROM"+s+”WHEREguzhangcsLIKE"+”'”+t_guanjian。

getText().trim()+”’”);

}

elseif(s1。

equals("电流"))

{

rs=stmt.executeQuery(”SELECT*FROM"+s+”WHEREdianliuLIKE"+"’”+t_guanjian。

getText()。

trim()+”’");

}

6项目测试

本系统在运行调试的过程中遇到很多错误并进行了大量的调试和改正。

1.连接数据库出错,程序中定义了Stringurl=”jdbc:

odbc:

Driver={MicroSoftAccessDriver(*.mdb)};DBQ=shebei.mdb";而我的数据库access使用的是2007版本的,access后缀为accdb,后缀改为mdb后数据库连接正常.

2.使用组件JPasswordField的方法getPassword用于比较识别用户密码是否正确是出错,原因是该方法返回值为cha[],与数据库中密码数据类型(String)不匹配,比较不出来,把JPasswordField换为TextField使用方法getText后问题解决。

3.点击菜单后对话框不显示,加入语句setVisible(true)之后问题解决。

4.程序中sql语句中表名为变量,语句”CREATETABLEs(idCOUNTER(1,1),dianyavarchar(50),dianliuvarchar(50),zhuangtaivarchar(50),guzhangcsINTEGER)"有错,改为”CREATETABLE”+s+"(idCOUNTER(1,1),dianyavarchar(50),dianliuvarchar(50),zhuangtaivarchar(50),guzhangcsINTEGER)”后问题解决,因为sql语句事实上为一个字符串,变量不能写到引号里,应用加号拼接。

5.程序中sql语句中数据类型不匹配,如”SELECT*FROM"+s+”whereid=”+t_id。

getText(),id数据类型为数字,而t_id.getText()为字符串,改为"SELECT*FROM”+s+"whereid=”+Integer.valueOf(t_id。

getText())。

intValue()),即把String转换为Integer。

6.程序中用到下拉菜单,下拉菜单中内容为设备名,可功能中有添加设备的功能,为实现下拉菜单的动态显示,新建了一个表即设备列表,来保存已有的设备名,每次打开下拉菜单是从数据库中读取设备名。

7参考文献

1。

     《Java毕业设计指南与项目实践》孙更新等编著。

科学出版社.2008.3

2.     《Java基础与实例精解》宾春清李建瑜编著。

北京航空航天大学出版社。

2009.7

3。

     《Java2实用教程》耿祥义张跃平编著。

清华大学出版社。

2006。

8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1