您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > (JAVA)产品库存管理系统(34)页
威海职业学院情境5产品库存管理系统用户管理及入库模块的实现天马行空官方博客::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()getType()此方法将光标从当前位置下移一行从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
本文标题:(JAVA)产品库存管理系统(34)页
链接地址:https://www.777doc.com/doc-448154 .html