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

姑娘要坚强 范文 报告范文
精选回答

设备管理系统

数据库技术

JDBC

SQL语句

1.

项目总体规划

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

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

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

2.

系统需求分析

2.1用户管理基本功能分析

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

其功能定义如图1所示。

修改密码

删除用户

用户管理

添加用户

图1

2.2设备管理基本功能分析

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

设备列表

删除设备

添加设备

设备管理

图2

2.3数据管理基本功能分析

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

数据管理

查询数据

删除数据

添加数据

图3

3.数据库设计

本系统使用微软公司的ACCESS数据,数据源名称为”

shebei”。根据系统的需求,

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

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

表1

users

字段名称

数据类型

大小

描述

username

文本

50

用户名

password

文本

50

密码

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

表2

shebeilist

字段名称

数据类型

大小

描述

id

数字(自动编号)

4

ID号

shebeiname

文本

50

设备名称

shebei1(设备信息表),名为shebei1

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

表3

shebei1

字段名称

数据类型

大小

描述

id

数字(自动编号)

4

ID号

dianya

数字

4

电压值

dianliu

数字

4

电流值

zhuangtai

文本

50

状态

guzhangcs

数字

4

故障次数

4.

关键技术和难点

4.1数据库连接

JDBC(Java

Data

Base

Connectivity,java数据库连接)是一种用于执行SQL语句的Java

API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC访问ACCESS有两种方式,一种是JDBC-ODBC桥接式,另一种是ODBC直接方式。本系统使用的是ODBC直接方式。ODBC直接连接方式采用了JDBC直接连接思想。他是在程序中直接指出需要使用的ODBC驱动程序,从而免去了配置数据源的麻烦,提高程序的可移植性。

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

try

{

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);

}

catch

(ClassNotFoundException

e)

{

System.out.println(“加载驱动程序错误!“+e);

}

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

Connection

conn;

Statement

stmt;

ResultSet

rs;

String

url=“jdbc:odbc:Driver={MicroSoft

Access

Driver

(*.mdb)};DBQ=shebei.mdb“;

conn=DriverManager.getConnection(url,““,““);

stmt=conn.createStatement();

rs=stmt.executeQuery(“SELEC*

FROM

users

where

username=“+““+t_name.getText()+““);

rs.close();

stmt.close();

conn.close();

4.2

SQL语句的使用

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

Query

Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言包含4个部分:

数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。

数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

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

数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。

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

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

例如程序中用到的有:

“INSERT

INTO

“+

s

+

“(dianya,dianliu,zhuangtai,guzhangcs)

VALUES

(“+s1+“,“+s2+“,“+s3+“,“+s4+“)““CREATE

TABLE

“+

s

+

“(

id

COUNTER(1,1),dianya

varchar(50),dianliu

varchar(50),zhuangtai

varchar(50),guzhangcs

INTEGER

)““DROP

TABLE

“+

s

“DELETE

FROM

users

WHERE

username

=“+s1

“SELECT

FROM

users

where

username=“+““+t_name.getText()+“““UPDATE

users

SET

password=“+s3+“WHERE

username

=“+s2

5

系统详细设计与实现

5.1用户管理设计与实现

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

conn=DriverManager.getConnection(url,““,““);

stmt=conn.createStatement();

rs=stmt.executeQuery(“SELECT

FROM

users

where

username=“+““+t_name.getText()+““);

while(rs.next())

{sname=rs.getString(1);

spass=rs.getString(2);

if(t_name.getText().equals(sname)

t_name.setText(““);

t_pass.setText(““);

myframe

=new

MyFrame();

this.dispose();

break;

}

else

{

l_error.setText(“用户名或密码错误“);

until++;

}

}

5.2设备管理设计与实现

设备管理模块中添加设备实际上是在数据库中新建一个表,删除设备实质上是删除一个表。添加设备关键代码如下:

conn=DriverManager.getConnection(url,““,““);

stmt=conn.createStatement();

rs=stmt.executeQuery(“SELECT

FROM

shebeilist

where

shebeiname=“+““+t_name.getText()+““);

if(rs.next())

{

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

}

else

{

String

temp=“INSERT

INTO

shebeilist

(shebeiname)

VALUES

(“+

s1

+

“)“;

stmt.executeUpdate(temp);

String

temp1=“CREATE

TABLE

“+

s

+

“(

id

COUNTER(1,1),dianya

varchar(50),dianliu

varchar(50),zhuangtai

varchar(50),guzhangcs

INTEGER

)“;

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

+

“WHERE

id

LIKE

“+““+t_guanjian.getText().trim()+““);

}

else

if

(s1.equals(“电压“))

{

rs=stmt.executeQuery(“SELECT

FROM

“+

s

+

“WHERE

dianya

LIKE

“+““+t_guanjian.getText().trim()+““);

}

else

if

(s1.equals(“状态“))

{

rs=stmt.executeQuery(“SELECT

FROM

“+

s

+

“WHERE

zhuangtai

LIKE

“+““+t_guanjian.getText().trim()+““);

}

else

if

(s1.equals(“故障次数“))

{

rs=stmt.executeQuery(“SELECT

FROM

“+

s

+

“WHERE

guzhangcs

LIKE

“+““+t_guanjian.getText().trim()+““);

}

else

if

(s1.equals(“电流“))

{

rs=stmt.executeQuery(“SELECT

FROM

“+

s

+

“WHERE

dianliu

LIKE

“+““+t_guanjian.getText().trim()+““);

}

6

项目测试

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

1.

连接数据库出错,程序中定义了String

url=“jdbc:odbc:Driver={MicroSoft

Access

Driver

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

2.

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

3.

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

4.

程序中sql语句中表名为变量,语句“CREATE

TABLE

s

(

id

COUNTER(1,1),dianya

varchar(50),dianliu

varchar(50),zhuangtai

varchar(50),guzhangcs

INTEGER

)“有错,改为“CREATE

TABLE

“+

s

+

“(

id

COUNTER(1,1),dianya

varchar(50),dianliu

varchar(50),zhuangtai

varchar(50),guzhangcs

INTEGER

)“后问题解决,因为sql语句事实上为一个字符串,变量不能写到引号里,应用加号拼接。

5.

程序中sql语句中数据类型不匹配,如“SELECT

FROM

“+

s

+

“where

id=“+

t_id.getText(),id数据类型为数字,而t_id.getText()为字符串,改为“SELECT

FROM

“+

s

+

“where

id=“+Integer.valueOf(t_id.getText()).intValue()),即把String转换为Integer。

6.

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

7

参考文献

1.

《Java毕业设计指南与项目实践》

孙更新等

编著.

科学出版社.

2008.3

2.

《Java基础与实例精解》

宾春清

李建瑜

编著.

北京航空航天大学出版社.2009.7

3.

《Java2实用教程》

耿祥义

张跃平

编著.

清华大学出版社.

2006.8

不后悔 2022-06-28 18:46:51

相关推荐

闭门反思的意思

“闭门反思”的意思是关上门反省自己的过错。形容自身冷静下来好好单独地想想所犯之过错,作出深刻反省。成语出自:《汉书·韩延寿传》:“因入卧传舍,闭阁思过。畅姬扳肯殖厩帮询爆墨。”...
展开详情

芝麻油是上火还是降火

芝麻油有降火功效。一般黑芝麻食用,白芝麻榨油。中医学认为:本品性味甘、凉,具有润肠通便、解毒生肌之功效。据《本草纲目》上记载:有润燥、解毒、止痛、消肿之功。”《别录》说:利大肠,胞衣不落。生者摩疙肿,生秃发。”...
展开详情

前途的意思

前途原指前面的路程,比喻将来的光景;将行经的前方路途,引申为目标和价值。出自鲁迅《故事新编-奔月》:“圆的雪白的月亮照着前途,凉风吹脸,真是比大猎回来时还有趣。”出处:晋-左思《吴都赋》:“先驱前涂,俞骑骋路。...
展开详情

丼怎么读

jǐng或dǎn。读作jǐng时,同“井”。读作dǎn时,意为投物井中所发出的声音,也可用作姓。中文丼字来源甲骨文,甲骨文即有丼字,或为今“丹”字,井中的一点,为丹砂的象征符号。又因为从“井”得字,所以也指井,...
展开详情

好好用功看到别人的长处人生感悟朗诵

贤二面壁用功好几天,因为师父让他要“好好用功”。出什么事了呢?原来有一天,他跟师父说,虽然你爱护贤五,但他真的没有长处,还信誓旦旦说,不打妄语。那师父为什么让他好好用功呢?因为“看不到别人的长处,恰恰证明自己的...
展开详情

精选推荐更多>

描写黄山天都峰的诗句

描写黄山天都峰的诗句:
1、孤峰突兀现青虚,喜若羁人望故都。神马已驰身尚远,却疑真有二文殊。——李弥逊《次韵公显宫教实见天都峰》
2、奇险天都著,遥观亦有缘。大雄无与并,苍浑莫之先。倏忽阴晴异,逡巡起伏迁。云腾致雨气,水泻在山泉。偃蹇非松意,因人委婉传。——《由汤池赴慈光寺途中望天都峰有感》
3、九上黄山绝顶人,纵横古今感微尘。笑煞天都峰巅客,人间咫尺数烟云。——刘海粟《画天都峰自题》
4、维帝有下都,作镇此南国。孤撑紫玉楼,横绝太霄碧。晶荧砂窦红,夭矫泉绅白。晴云无尽藏,竟日袅幽石。诸峰三十五,离立侍傍侧。会稽眇小哉,请议职方籍。——范成大《天都峰》
5、山川形胜雄江东,九华辉映天都峰。传闻早已汤胸臆,恨不插翼长相从。朅来随牒官秋浦,城郭奔驰厌尘土。絜家捧檄过临城,偷闲两作烟霞主。黄山登鉴原无由。何期易地太平游。清池轩害日舒丽,突兀楼观撑深幽。凭高徙倚敞心目,绝壁半天横碧玉。回溪千里指顾间,螺髻分明三十六。壮怀高向紫霄悬,俯视培楼真一拳。古今秀色餐不尽,笔端收拾生去烟。萍踪倘未逐流水,古刹相望二三里。暇时风月得交游,鸥鹭同眠勿惊起。——石应孙《游黄山》

一的因数有几个七的因数有几个十的因数有几个

1的因数有1个,就是1本身;7的因数有两个,就是1和7;10的因数有4个,就是1和10、2和5。假如a*b=c(a、b、c都是整数),那么我们称a和b就是c的因数。需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称c为a、b的倍数。
整数(integer)是正整数、零、负整数的集合。整数的全体构成整数集,整数集是一个数环。在整数系中,零和正整数统称为自然数。-1、-2、-3、…、-n、…(n为非零自然数)为负整数。则正整数、零与负整数构成整数系。整数不包括小数、分数。

使人耽之若是的使是什么意思

“使人耽之若是”的“使”是假如的意思。
出自《晋书·王羲之传》:“张芝临池学书,池水尽黑,使人耽之若是,未必后之也。”意思是东汉张芝临池学写字,池水都变成黑色,如果天下人像他那样沉迷于书法,也不一定比他差。
使字的意思是:
1、派遣。出自《左传·襄公二十三年》:“公子黄愬二庆于楚,楚人召之。使庆乐往。杀之。”
2、命令。出自《史记·项羽本纪》:“怀王因使项羽为上将军,当阳君、蒲将军皆属项羽。”
3、致使,让。出自韩愈《秋怀诗》:“其言有感触,使我复凄酸。”
4、出使。出自韩愈《送殷员外序》:“今子使万里外国,独无几微出于言面,岂不真知轻重大丈夫哉!”
5、假使。出自韩愈《送水陆运使韩侍御归所治序》:“使尽用其策,西北边故所没地,可指期而有也。”

作业本是什么意思

“作业本”的意思是:指学生或其他学习的人专门用来做作业的本子和通常辅助教材的练习册。例如课堂作业本,像数学本、外语本、作文本,有的被用作草稿本之类的本子。一些专业性较强的技术工作或较为复杂的工种,都需要详细的记录数据;操作规程完成记录的专用记录本也称“作业本”。
“作业本”造句:
1、这作业本的封面设计得很新颖。
2、老师经常在课堂上抽查我们的作业本。
3、没有老师的批准,任何人不得擅自去讲台领取作业本。
4、我的作业本丢了,急的我好像热锅上的蚂蚁。
5、作业本高高地堆成一摞所有的本子一尘不染。
6、这种作业本,由于质次价高,所以摆在柜台上半个多月,一直无人问津。
7、用姐姐寄来的钱买铅笔盒、作业本和书包,还绰绰有余。
8、她漫不经心地走到老师面前,把作业本交到老师手上。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200