




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA课程设计报告课题名称:设备管理系统目录1 项目总体规划12 系统需求分析42.1用户管理基本功能分析52.2设备管理基本功能分析62.3数据管理基本功能分析23 数据库设计14 关键技术和难点14.1 数据库连接34.2 SQL语句的使用25 系统详细设计与实现15.1用户管理设计与实现55.2设备管理设计与实现65.3数据管理设计与实现26 项目测试17 参考文献1摘要:随着社会生产活动中自动化水平越来越高,设备的监控及其数据的存储越来越重要。本系统使用JAVA语言,结合实际编写了该设备管理系统,可以实现对数据库的准确操作,完成用户的登录、修改密码、添加用户、删除用户,及设备的添加和删除,设备数据的添加、删除和查询等一系列功能。关键词:设备管理系统 数据库技术 JDBC SQL语句1. 项目总体规划随着社会生产活动中自动化水平越来越高,设备的监控及其数据的存储越来越重要。数据库技术已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。随着我国市场经济的迅速发展,在工厂中,为了有效管理各种设备及其在运作过程中产生的数据,开发一个方便高效的管理软件是非常必要的。本系统使用JAVA语言,结合实际编写了该设备管理系统,可以实现对数据库的准确操作,完成用户的登录、修改密码、添加用户、删除用户,及设备的添加和删除,设备数据的添加、删除和查询等一系列功能。本系统开始运行时首先进入登陆界面,用户输入正确的用户名及密码后进入主窗体,然后通过点击主窗体的各项菜单进入各项功能。2. 系统需求分析2.1用户管理基本功能分析系统中用户需要正确的密码才能获得能录权限,登录之后可以进行一系列数据操作。其功能定义如图1所示。修改密码删除用户用户管理添加用户图12.2设备管理基本功能分析设备管理可以实现对设备的添加和删除,其功能定义如图2所示。设备列表删除设备添加设备设备管理图22.3数据管理基本功能分析数据管理室系统的核心,可以实现对数据的添加、删除及查询,其功能定义如图3所示。数据管理查询数据删除数据添加数据图33.数据库设计本系统使用微软公司的ACCESS数据,数据源名称为” shebei ”。根据系统的需求,经过详细的分析设计,本系统数据库中各个数据表的字段定义和说明如下。users(用户信息表),存放注册用户的信息,如表1.表1 users字段名称数据类型大小描述username文本50用户名password文本50密码shebeilist(设备列表),存放设备列表,如表2.表2 shebeilist字段名称数据类型大小描述id数字(自动编号)4ID号shebeiname文本50设备名称shebei1(设备信息表),名为shebei1 的设备的各项数据(程序中每台设备建一个数据表),如表3.表3 shebei1字段名称数据类型大小描述id数字(自动编号)4ID号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驱动程序,从而免去了配置数据源的麻烦,提高程序的可移植性。首先需要加载驱动程序,代码如下:tryClass.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 + sDELETE FROM users WHERE username =+s1SELECT * FROM users where username=+t_name.getText()+UPDATE users SET password=+s3+ WHERE username =+s25 系统详细设计与实现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_pass.getText().equals(spass)l_error.setText(登陆成功);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(设备已经存在,添加失败!);elseString 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=+In
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春工业大学《锅炉原理B》2023-2024学年第二学期期末试卷
- 山东圣翰财贸职业学院《中级德语II》2023-2024学年第二学期期末试卷
- 九江学院《文化翻译基础》2023-2024学年第二学期期末试卷
- 青岛工学院《现代光纤通信系统实训》2023-2024学年第二学期期末试卷
- 上海海关学院《工笔花鸟写生》2023-2024学年第二学期期末试卷
- 山西电力职业技术学院《人力资源管理综合》2023-2024学年第二学期期末试卷
- 上海电子信息职业技术学院《儿童文学研究》2023-2024学年第二学期期末试卷
- 同济大学浙江学院《热工基础与流体力学》2023-2024学年第二学期期末试卷
- 开封文化艺术职业学院《网页艺术设计》2023-2024学年第二学期期末试卷
- 三峡大学科技学院《统计学与软件应用》2023-2024学年第二学期期末试卷
- 2025年广东省万阅大湾区百校联盟中考二模语文试题(含答案)
- 护士理论考试试题及答案
- 2024-2025学年天津市八年级下期末数学模拟试卷(附答案解析)
- 2025年继续教育公需科目网络考试试题及答案
- 福建省厦门市2023-2024学年高一下学期期末质量检测历史试题(解析版)
- 油漆工包工合同协议书
- 2025高考终极押题范文6篇与题目
- 工程项目经理竞聘演讲稿
- 统编版(2024)七年级下册历史期末专题复习课件40张
- 湖北省武汉市2025届高三年级五月模拟训练试题数学试题及答案(武汉五调)
- 2025年湖北省襄阳市襄州区中考数学二模试卷
评论
0/150
提交评论