JAVA产品库存管理系统_第1页
JAVA产品库存管理系统_第2页
JAVA产品库存管理系统_第3页
JAVA产品库存管理系统_第4页
JAVA产品库存管理系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

情境5产品库存管理系统

用户管理及入库模块的实现天马行空官方博客:/tmxk_docin;QQ:1318241189学习情境描述实现产品库存管理系统的用户管理及入库模块。(1)使用Access实现系统的数据库(2)实现用户登录模块,完成用户管理模块:修改密码、添加用户、删除用户三种功能,包括用户界面及对数据库中用户表的修改。(3)实现入库模块的产品入库及入库管理两种功能。入库模块功能界面用户管理模块功能界面学习情境描述添加用户功能界面修改密码功能界面删除用户功能界面学习情境描述产品入库功能界面入库管理功能界面所需知识Java连接数据库的两种方法;数据库编程的主要步骤;sql包中主要接口的使用;

重点及难点数据库编程的主要步骤数据库的各种操作能力目标培养学生进行实现数据库编程的基本技能、阅读代码的能力、程序调试能力,养成良好的编码风格培养学生英语阅读能力和技术创新能力培养学生的自学能力、知识的融会贯通能力和动手实践能力从键盘输入一个double型的数据,若不小于0,则给出它的平方根,若小于0,则输出提示信息“输出错误”。实战:Java数据库应用程序设计数据库应用程序设计

客户机/服务器应用程序ODBCJDBC两个常用的API数据库执行SQL语句检索查询结果ODBC数据库客户机/服务器GUI应用程序ODBC(开放式数据库连接)(Microsoft提供)插入删除修改应用程序编程接口查询JDBCJDBC(Java数数据库连接接)(sun公司司提供)Java应应用程序编程程接口Java应用用程序数据库插入修改删除查询JDBC体体系结构应用层DriverStatementResultSetConnection各接口驱动层java.sql包接口名说明

Connection此接口表示与数据的连接PreparedStatement此接口用于执行预编译的SQL语句

ResultSet此接口表示了查询出来的数据库数据结果集Statement此接口用于执行SQL语句并将数据检索到ResultSet中

java.sql包类名说明

DriverManager此类用于加载和卸载各种驱动程序并建立与数据库的连接Date此类包含将SQL日期格式转换成Java日期格式的各种方法Time此类用于表示时间TimeStamp此类通过添加纳秒字段为时间提供更高的精确度

Java连接接数据库的两两种方式JDBC-ODBC桥接接器JDBC通过过JDBC--ODBC桥桥来将JDBCAPI转换成ODBCAPI,进而通通过ODBC来存取数据据库。使用某种数据据库的专用驱驱动程序ODBC数据据源配置双击实战使用下面两种种方式实现JDBC与Access数据库的相连:配置ODBC数据源。下载并安装Access数据库专用用驱动程序,,任务1修改情境3中中的用户登陆陆模块。要求:(1)创建user表,,其中存放产产品库存管理理系统所有已已注册用户信信息;(2)若输入入的用户名在在user表表中存在,且且密码正确,,则系统登陆陆成功,进入入主界面;否否则,弹出提提示对话框。。Java连接接数据库的步步骤任务4:实现现importjava.sql.DriverManager;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.Statement;importjava.sql.SQLException;...…classButtonListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if((i==3)||(e.getSource()==b2)){f.disable();}else{Stringusername=null;Stringpassword=null;导入java.sql包 try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}booleant=false; try{ Stringurl="jdbc:odbc:goods";Connectioncon=DriverManager.getConnection(url);Statementaccess=con.createStatement();ResultSetrs=access.executeQuery("select*fromuser");while(rs.next()) {username=rs.getString("用户名"); password=rs.getString("密码"); ……}

rs.close();

access.close(); con.close();}catch(SQLExceptione1){ System.out.println(e1.getMessage()); } …… }}}加载并注册驱动程序创建三种对象关闭三种对象JDBC查询询SQL查询询字符串executeQuery()方方法作为参数传递递ResultSet返回查询数据据select*fromuser;使用SQL语句,查查询可编写为为:Stringstr=“select*fromuser";Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery(str);使用JDBC编写此此查询,则代代码为:Statement接口口结果集--ResultSetResultSet对对象完全依赖赖于Statement和Connection对象象每次执行SQL语句句时,都会用用新的结果重重写结果集当相关的Statement关关闭时,ResultSet对象象会自动关闭闭Next()get<Type>()此方法将光标标从当前位置下移移一行从ResultSet对象返回数据据结果集的类型型可滚动不可滚动光标仅向前移移动光标可前后移移动,也可移移动至与当前位置置相对的某一一行如果对数据库库做了更改,,则新值是可见见的结果集TYPE_SCROLL_INSENSITIVETYPE_SCROLL_SENSITIVETYPE_FORWARD_ONLY实战完成用户登录录界面JDBC插入入、删除、修修改SQL插入入(删除、修修改)字符串串executeUpdate()方方法作为参数传递递返回本次操作作影响的数据据行行数insertintouservalues(’aaa’,‘‘123’);使用SQL语句,插插入可编写为为:Stringstr=“insertintouservalues(’aaa’,‘123’)";Statementaccess=con.createStatement();access.executeUpdate(str);使用JDBC编写此此插入,则代代码为:Statement接口口复习:sql删除、、修改操作语句句PreparedStatement接口3-1PreparedStatement接口(预编译的SQL语语句)PreparedStatement用于提高运行行时效率执行PreparedStatement对象比执行Statement对对象快Statement接接口PreparedStatement接口口3-2它演示示了PreparedStatement的的用法法演示::示例例5/**©©*CourseAppl*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;importjava.sql.PreparedStatement;/**这这个类类演示SQL中PreparedStatement的的用法法*/classCourseAppl{privateConnectioncon;privateStringurl;privateStringserverName;privateStringportNumber;privateStringdatabaseName;privateStringuserName;privateStringpassword;privateStringsql;CourseAppl(){url="jdbc:microsoft:sqlserver://";serverName=““localhost";portNumber="1433";databaseName=““test";userName=““sa";password=““sa";}privateStringgetConnectionUrl(){returnurl+serverName+":"+portNumber+";databaseName="+databaseName+";";}privatejava.sql.ConnectiongetConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");con=DriverManager.getConnection(getConnectionUrl(),userName,password);if(con!=null){System.out.println("连连接成功!");}}catch(Exceptione){e.printStackTrace();System.out.println("getConnection()内内的错误跟跟踪:"+e.getMessage());}returncon;}publicvoiddisplay(){try{con=getConnection();PreparedStatementpstmt=con.prepareStatement("UPDATEfriendsSETsalary=?WHEREnamelike?");pstmt.setInt(1,10000);pstmt.setString(2,"李李四");pstmt.executeUpdate();System.out.println(“记记录已更新!");Statements=con.createStatement();Stringsql="SELECT*FROMfriends";ResultSetrs=s.executeQuery(sql);while(rs.next()){System.out.println("");System.out.print(rs.getInt(1)+"");System.out.println(rs.getInt(5));}}catch(SQLExceptionce){System.out.println(ce);}}publicstaticvoidmain(String[]args){CourseApplretObj=newCourseAppl();retObj.display();}}PreparedStatement接口3-3它演示在基于于条件的SQL查询询中如何使用用PreparedStatement,其其中条件在IN参数数中给出演示:示例6importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.PreparedStatement;/**这个个类演示在基基于条件的SQL查查询中使用PreparedStatement*/classRetrieveRecords{privateConnectioncon;privateStringurl;privateStringserverName,portNumber,databaseName,userName;privateStringsql;RetrieveRecords(){url="jdbc:microsoft:sqlserver://";serverName=“localhost";portNumber="1433";databaseName=““test";userName=““sa";password=““sa";}privateStringgetConnectionUrl(){returnurl+serverName+":"+portNumber+";databaseName="+databaseName+";";}privatejava.sql.ConnectiongetConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");con=DriverManager.getConnection(getConnectionUrl(),userName,password);if(con!=null){System.out.println("连连接成功!");}}catch(Exceptione){e.printStackTrace();System.out.println(“getConnection()内内的错误跟跟踪:"+e.getMessage());}returncon;}publicvoiddisplay(){try{con=getConnection();sql="select*fromFriendswhereSalary>?";PreparedStatementpstmt=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);pstmt.setInt(1,5000);ResultSetrs=pstmt.executeQuery();while(rs.next()){System.out.print(rs.getString(1)+"\t");System.out.print(rs.getString(2)+"\t");System.out.print(rs.getInt(3)+"\t");System.out.print(rs.getDate(4)+"\t");System.out.print(rs.getInt(5)+"\t");System.out.println("");}rs.close();pstmt.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}/**这这是main方法*/publicstaticvoidmain(String[]args){RetrieveRecordsretRec=newRetrieveRecords();retRec.display();}}实战实现用户管理理模块中的添添加用户功能能界面,在界界面中输入新新用户名及密密码,点击““注册”,将将新用户信息息插入到user表中。。(用户管理模模块的其他功功能在知识讲讲授完成之后后,自主分析析实现)使用JTable表格显显示数据库查查询结果任务2设计一个GUI界面,使使用JTable表格显显示user表中中的数据信息息。任务2:实现现publicclassProductTableModelextendsAbstractTableModel{privateintn=0;privateConnectionconn;privateStatementaccess;privateResultSetrs;privateResultSetMetaDatarsmd;publicProductTableModel(Stringsql){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Stringurl="jdbc:odbc:goods";conn=DriverManager.getConnection(url);access=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);setQuery(sql);}catch(Exceptione){System.out.println(e.getMessage());}}publicintgetColumnCount(){try{returnrsmd.getColumnCount();}catch(Exceptione){System.out.println(e.getMessage());}return0;}publicintgetRowCount(){try{returnn;}catch(Exceptione){System.out.println(e.getMessage());}return0;}publicStringgetColumnName(intcol){try{returnrsmd.getColumnName(col+1);}catch(Exceptione){System.out.println(e.getMessage());}return"";}publicObjectgetValueAt(introw,intcol){Objectob=null;try{rs.absolute(row+1);ob=rs.getObject(col+1);}catch(Exception

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论