您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 固定资产管理系统2328171935
JAVA项目(固定资产管理)计划书一、界面设计主界面:1、按钮面板2、jTable面板3、树型结构面板4、菜单部分程序运行初始化时应注意。可使用的菜单只有管理员登录,和关闭系统。其于菜单及按钮不可用,可参考关键代码。建议步骤:1、主界面大小为:800*600大小。使用NULL布局。(以上部分在没有说明的情况下,面板使用布局方式为NULL)2、加入面板1位于主窗体的北面,做为按钮面板。3、加入面板2位于主窗体的中间,做为jTable使用BorderLayout布局4、加入面板3位于主窗体的西面,做为树型结构面板,同样使用BorderLayout布局5、菜单设计:一、管理员菜单1、管理员登录菜单项2、增加管理员菜单项3、修改管理员密码菜单项4、删除管理员菜单项二、用户管理菜单1、增加用户菜单项2、删除用户菜单项三、资产管理菜单1、增加资产菜单项2、删除资产菜单项四、资产信息管菜单1、资产信息查询菜单项2、资产信息修改菜单项3、删除资产信息菜单项五、关闭系统1、关闭系统二、数据库设计1、管理员数据字段说明:管理员IDint类型主键管理员名vchar类型管理员密码vchar类型2、用户数据表字段说明:用户IDint类型主键用户名vchar类型3、资产数据表字段说明:资产IDint类型主键资产名vchar类型资产价值vchar类型可选为float类型或money类型资产状态vchar类型可选为boolean类型4、资产信息数据表字段说明:资产操作IDint类型主键资产操作人vchar类型资产操作日期vchar类型可选为date类型使用资产人员vchar类型备注vchar类型数据库部分建议字段全部设置为不可为空。三、逻辑设计1、数据库的连接1、建立一个新的类做为数据所连接类,注意:必须导入java.sql.*包,2、方法类型,方法1、publicvoidsetDb(StringdbCommand)用于执行向数据库中输入数据方法2、publicResultSetgetRS(StringdbCommand)用于返回一个从数据库中查询数据的结果集。2、数据模型1、建立jTable数据模型,使用TableModel类建立模型。注意:应导入:importjava.util.*;importjavax.swing.table.DefaultTableModel;方法可声明为:publicstaticDefaultTableModelgetmyModel(StringdbCommand)3、数据输入使用数据库方法1,向数据库输入数据。(注意:向数据库输入数据时,要对应于数据库的各字段的值和类型)publicvoidinserDb(){StringdbCommand=insertintouserinfovalues(+ID+,'+name+','+password+');newDbLink().setpStm(dbCommand);}注意:如果是对一个数据表进行全部字段的输入,可以不输入字段名。如果只是对某一个数据所字段进行修改,必须输入要修改的字段名。要修改的数据必须和数据所在的数据库的字段的类型匹配。四、关键逻辑结构建产一个操作数据模型的类。建立一个方法,声明如下:PublicDefaultTableModelgetmyModel(StringdbCommand)dbCommand参数为SQL语句{Vectorbiaoti=newVector();建立一个向量对象用于存储结果集中的列名Vectorvalue=newVector();建立一个向量对象用于存储结果集中的数据try{ResultSetrs=newDbLink().getRs(dbCommand);使用SQL语句得到结果集(dbCommand为String类型数据)传入SQL语名for(inti=1;i=rs.getMetaData().getColumnCount();i++){biaoti.addElement(rs.getMetaData().getColumnName(i))将表头字段加入到biaoti向量中;}while(rs.next()){Vectortemp=newVector();建立临时的向量对象用于加入结果中的每一行数据。for(inti=1;i=rs.getMetaData().getColumnCount();i++){temp.addElement(rs.getString(i));}value.addElement(temp);将向量temp中的数据加入value中}}catch(Exceptione){}DefaultTableModelmyModel=newDefaultTableModel(value,biaoti);建立数据模型(注意:内容在前表头在后);returnmyModel;返回这个数据模型.}使用这个数据模型的方法为:StringdbCommand=select*fromuserinfo;声明一个字符串用于存放SQL语句jTable1.setModel(newDbModel().getmyModel(dbCommand));使用jTable对象的方法setModel(TbaleModelsss)可以设置jTable中所显示的数据。参数为TableModel可以使用DbModel中的getmyModel()方法得到。数据库连接及使用声明一个类DbLink用于执行数据库的操作所必须的条件publicclassDbLink{Connectioncon=null;声明连接对象Statementstm=null;声明执行对象PreparedStatementpStm=null;声明预编执行对象ResultSetrs=null;声明结果集对象publicvoidsetpStm(StringdbCommand)执行SQL语句的方法{try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);加载数据库驱动con=DriverManager.getConnection(jdbc:odbc:mytest);连接数据源stm=con.createStatement();建产执行对象stm.executeUpdate(dbCommand);使用执行对象执行SQL语句更新数据库中的数据表}catch(Exceptione){}}publicResultSetgetRs(StringdbCommand)得到结果集的方法{try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);加载数据库驱动con=DriverManager.getConnection(jdbc:odbc:mytest);连接数据源stm=con.createStatement();建产执行对象rs=stm.executeQuery(dbCommand);使用执行对象执行SQL语句查询数据}catch(Exceptionex){}returnrs;返回查询的结果集}五、关键代码程序运行初始化部分:如果在输入管理员密码之前只有菜单中的管理员登录和关闭系统菜单为可状态,其于组件要设置为不可用状态设置Swing组件的状态可以使用setEnabled(Booleansss)如果sss设置为True为可用状态false为不可用状态例子:jButton1.setEnable(true)是设置一个swing的组件jButton为可用状态注意:要在程序初始化时进行组件状态的设置。管理员部分:一、登录部分必须须验证用户名和密码是否为空。及用户名和密码是否正确。如果出现错误,应有相就的提示。代码入下:使用前必须导入:importjavax.swing.JOptionPane;publicvoidjButton1_actionPerformed(ActionEvente){Stringname=jTextField1.getText();得到当前的用户名Stringpassword=newString(jPasswordField1.getPassword());得到当前的用户密码if(name.length()==0){JOptionPane.showMessageDialog(this,用户名不能为空,错误,JOptionPane.ERROR_MESSAGE);提示用户名不能为空}elseif(password.length()==0){JOptionPane.showMessageDialog(this,用户密码不能为空,错误,JOptionPane.ERROR_MESSAGE);提示用户密码不能为空}elseif(name.equals(admin)&&password.equals(aptech)){JOptionPane.showMessageDialog(this,验证成功欢迎使用,信息,JOptionPane.INFORMATION_MESSAGE);提示成功登录}else{JOptionPane.showMessageDialog(this,用户名密码错误,错误,JOptionPane.ERROR_MESSAGE);提示用户名密码错误}}二、加入管理员部分加入管理员之前应确认管理员ID为可用状态。可使用查询管理员ID方式查看管理员ID是否为可用。(操作应有相应的提示)一、执行数据查询工作,并且和从文本框中的得到的数据时行比较二、输入数据出错部代码参考以上代码三、删除管理员部分数据输入部分:一、各表的ID必须为数字。二、表中的字段可使用可选类型出错部代码参考以上代码执行数据库操作删除管理员。但应注意:在资产管理中的操作人应有相应的操作其它部分:得到当前的日期的方法为:使用前必须导入:importjava.text.SimpleDateFormat;importjava.util.*;publicStringgetCurrentDate(){SimpleDateFormatformattime=newSimpleDateFormat(yyyy年MM月dd日,Locale.getDefault());得到当前的日期,格式为:2006年12月13日,注意字母大小写Stringstr=formattime.format(newDate());将当前时间做为字符串输入returnstr;返回这个字符串六、方法查询写出你所使用的各种方法要求写出你的关于数据操类所,定义的类名及方法名数据模型的类名及方法名:要求写出你的关于数据模型操类所,定义的类名及方法名界面类名及方法名:要求写出你的关于界面所,定义的类名及方法名逻辑类名及方法:要求写出你的关于逻辑操所,定义的类名及方法名七、注意事项一、不可出现代码抄习现象。二、程序代码应注意格式的书写三、程序注释应明确如有以上现象,对于项目应相应的扣分。八、补充说明关于jTable中的数据表的操作说明:在jTable中,如果数据表中显示的数据是由数据库中的多个表查询的结果,在进行修改数据时必须分别对每一张表做单独修改。注意:修改的数据时,要注意数据表中的数据对应于那一张数据库中的数据表(如果你有好的方法可以自改定义)数据操作示意图.1:关于建产数据模型的操作说明:1、从数据库中查询数据会生成一个RS结果集2、建立一个可以操作RS结果集的对象3、使用这个对象分别从RS结果集中取出列名和数据4、把取出的列名放入向量对象temp中,把取出的数据放入身量对象value中5、使用value和temp向量对象建产数据模型DBModel6、jTable使用setModel(TableModelsss)方法,得到数据型并且显示其中的数据此计划书所有步骤及代码可以供参考,可以自由发挥。示意图.1:——————————————————————————————————示意图.2:jTable所显示的数据操作是由RS结果集所返回的数据,是由多表联合查询的结果。如果在修改所显示的数据时必须,同时修改,数据库中的:管理
本文标题:固定资产管理系统2328171935
链接地址:https://www.777doc.com/doc-6070 .html