《第6章 JSP中使用数据库.ppt》由会员分享,可在线阅读,更多相关《第6章 JSP中使用数据库.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6章 配合例子源代码一起使用例子源代码一起使用Power point 制作:杨俊成普通高等教育普通高等教育“十一五十一五”国家级规划教材国家级规划教材JSP 中使用数据库中使用数据库主要内容主要内容JDBC连接数据库的常用方式连接数据库的常用方式查询记录查询记录更新记录更新记录添加记录添加记录删除记录删除记录用结果集更新数据库用结果集更新数据库预处理预处理事务事务常见数据库连接常见数据库连接查询查询Excel电子表格电子表格难点难点用结果集更新数据库用结果集更新数据库预处理预处理事务事务关键实践关键实践查询记录查询记录更新记录更新记录删除记录删除记录第6章导读章导读第6章 在在JSPJSP中
2、使用数据库中使用数据库 本本章章将将学学习习在在JSPJSP技技术术中中怎怎样样使使用用数数据据库库,为为了了更更好好的的体体现现一一个个WebWeb应应用用将将数数据据的的处处理理和和显显示示相相分分离离,除除个个别别例例子子为为了了说说明明基基本本知知识识外外,本本章章大大部部分分例例子子采采用用JSP+TagJSP+Tag模模式式,即即JSPJSP页页面面调调用用TagTag文文件来完成对数据库的操作。件来完成对数据库的操作。6.1.SQLServer2000数据库管理系统数据库管理系统 本章选用本章选用SQLServer2000数据库管理系统。数据库管理系统。1启动启动SQLServe
3、r2000 单击单击“开始开始”“”“程序程序”“”“MicrosoftSQLServer”“服务器管理服务器管理器器”2建立数据库建立数据库 单击单击“开始开始”“”“所有程序所有程序”“”“Microsoft SQL Server”“Microsoft SQL Server”“企业企业管理器管理器”,新建立的数据库名称是新建立的数据库名称是“Warehouse”Warehouse”3创建表创建表打打开开“企企业业管管理理器器”,用用鼠鼠标标单单击击“数数据据库库”下下的的WarehouseWarehouse数数据据库库,在在WarehouseWarehouse管管理理的的“表表”的的选选项
4、项上上单单击击右右键键,选选择择“新新建建表表”,将将出出现相应的建表界面,我们建立的表是现相应的建表界面,我们建立的表是productproduct,该表的字段(属性)为:该表的字段(属性)为:numbernumber(charchar),name,name(charchar),madeTimemadeTime(datetimedatetime),price(float).,price(float).其中其中“number”number”字段为主键字段为主键.6.2.JDBC JDBCJDBC(Java Java DataBaseDataBase ConnectivityConnectivi
5、ty)是是JavaJava运运行行平平台台的的核核心心类类库库中的一部分,提供了访问数据库的中的一部分,提供了访问数据库的APIAPI,它由一些它由一些JavaJava类和接口组成。类和接口组成。JDBCJDBC操操作作不不同同的的数数据据库库仅仅仅仅是是连连接接方方式式上上的的差差异异而而已已,使使用用JDBCJDBC的的应应用用程程序序一一旦旦和和数数据据库库建建立立连连接接,就就可可以以使使用用JDBCJDBC提提供供的的APIAPI操操作作数数据据库库 .我们经常使用我们经常使用JDBCJDBC进行如下操作:进行如下操作:n 与一个数据库建立连接。与一个数据库建立连接。n向已连接的数据
6、库发送向已连接的数据库发送SQLSQL语句。语句。n 处理处理SQLSQL语句返回的结果。语句返回的结果。6.3.连接数据库的常用方式连接数据库的常用方式1.1.一种常见方式是使用一种常见方式是使用JDBC-ODBCJDBC-ODBC桥接器桥接器:2.2.另一种是另一种是加载加载JavaJava数据库驱动程序数据库驱动程序 6.3.1 JDBC-ODBC6.3.1 JDBC-ODBC桥接器桥接器_1 _1 使使用用JDBC-ODBC桥桥接接器器方方式式的的机机制制是是,应应用用程程序序只只需需建建立立JDBC和和ODBC之之间间的的连连接接,而而和和数数据据库库的的连连接由接由ODBC去完成。
7、去完成。6.3.1 JDBC-ODBC6.3.1 JDBC-ODBC桥接器桥接器_2 _2 使用使用JDBC-ODBCJDBC-ODBC桥接器访问数据库的步骤桥接器访问数据库的步骤:n建立建立JDBC-ODBC桥接器桥接器tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundExceptione)out.print(e);n 创建创建ODBC数据源数据源 Windows控制面板控制面板_管理工具管理工具_ODBC数据源数据源n 和和ODBC数据源建立连接数据源建立连接 Connectioncon=DriverMana
8、ger.getConnection(“jdbc:odbc:数数据据源源名名字字”,“登登录录名名”,“密密码码”);例例6-1 P1446.3.2 6.3.2 使用使用JavaJava数据库驱动程序数据库驱动程序_1 _1 用用Java语语言言编编写写的的数数据据库库驱驱动动程程序序称称作作Java数数据据库库驱动程序。驱动程序。JDBC可可以以调调用用本本地地的的Java数数据据库库驱驱动动程程序序和和相相应应的数据库建立连接的数据库建立连接。6.3.2 6.3.2 使用使用JavaJava数据库驱动程序数据库驱动程序_2 _2 使使用用纯纯JavaJava驱驱动动程程序序方方式式和和数数据
9、据库库建建立立连连接接的的两两个步骤个步骤:n加载纯加载纯Java驱动程序(驱动程序(以连接以连接SQLServer2000为例)为例)连接连接SQLServer2000用的纯用的纯Java驱动程序驱动程序(从从下载下载)sqljdbc_1.1.1501.101_enu.exe安安装装后后此此文文件件后后,在在enu子子目目录录中中找找到到驱驱动动文文件件sqljdbc.jar,将将其其复复制制到到Tomcat所用的所用的JDK的的jrelibext文件夹中或文件夹中或Tomcat的的安装目录安装目录commonlib中。中。n 和和指定的数据库建立连接指定的数据库建立连接 tryClass.
10、forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);catch(Exceptione)out.print(e);例例6-2 P1466.4 访问数据库nStatement接口用于执行不带参数的简单SQL语句,用来向数据库提交SQL语句交返回SQL语句的执行结果。n创建一个Statement接口的一般形式如下:Connection con=DriverManager.getConnection(URL,user,password)Statement sm=con.createStatement();Statement n创建了Stateme
11、nt接口的实例后,可调用其中的方法执行SQL语句,JDBC中提供了三种执行方法,它们是execute()、executeQuery()和executeUpdate()。nexecuteUpdate方法:这个方法一般用于执行SQL的INSERT、UPDATE或DELETE语句,当执行INSERT等SQL语句时,此方法的返回值是执行了这个SQL语句后所影响的记录的总行数。Statement nexecuteQuery方法:一般用于执行SQL的SELECT语句。它的返回值是执行SQL语句后产生的一个ResultSet接口的实例(结果集)。nexecute方法:一般是在用户不知道执行SQL语句后会产生
12、什么结果或可能有多种类型的结果产生时才会使用。execute()的执行结果包括如下三种情况:1.包含多个ResultSet(结果集);2.多条记录被影响;3.既包含结果集也有记录被影响。Statement ResultSet nResultSet 对象包含了Statement和PreparedStatement的executeQuery方法中SELECT查询的结果集,即符合指定SQL 语句中条件的所有行。nResultSet.next 方法用于移动到 ResultSet 中的下一行,使下一行成为当前行。结果集一般是一个表,其中有查询所返回的列标题及相应的值。检索数据库 n课堂演示6.3:que
13、ry.jsp通过SQL Server 2000 Driver For JDBC建立数据库连接,并查询product表中的前5种商品的编号、类型、名称、单价和数量。更新数据库 ninsert.jsp提供输入表单供用户输入商品信息,do_insert.jsp通过SQL Server 2000 Driver For JDBC建立数据库连接后通过Statemen将商品信息插入到数据库中。convert.jsp在添加商品信息之前进行编码转换。图图6-19do_insert.jsp运行结果运行结果图图6-18insert.jsp运行结果运行结果 PreparedStatement nPreparedSta
14、tement接口是Statement接口的子接口,它直接继承并重载了Statement的方法。nPreparedStatement接口的常用方法见图6-5。图图6-5 6-5 PreparedStatementPreparedStatement接口的常用方法接口的常用方法 n创建PreparedStatement对象形式如下:PreparedStatement psm=con.prepareStatement(INSERT INTO users(u_name,u_pass)VALUES(?,?);n输入参数的赋值输入参数的赋值 PreparedStatement中提供了大量的setXXX方法对
15、输入参数进行赋值。根据输入参数的SQL类型应选用合适的setXXX方法。PreparedStatement CallableStatement n创建CallableStatement的对象主要用于执行存储过程,可以使用DatabaseMetaData类中的有关方法去获取相关信息以查看数据库是否支持存储过程。n调用类Connection中的方法prepareCall可以创建一个CallableStatement的对象。一般形式如下:CallableStatement csm=con.prepareCall(call test(?,?);nOUT参数类型注册的方法:在执行一个存储过程之前,必须先
16、对其中的OUT参数进行类型注册。nCallableStatement提供两种方法进行类型注册:registerOutParamenter(int parameterIndex,int sqlType);registerOutParameter(int parameterIndex.,int sqlType,int scale);CallableStatement n查询结果的获取 由于CallableStatement允许执行带OUT参数的存储过程,所以它提供了完善的getXXX方法来获取OUT参数的值。除了IN参数与OUT参数外,还有一种INOUT参数。INOUT参数具有其它两种参数的全部功
17、能,可以用setXXX方法对参数值进行设置,再对这个参数进行类型注册,允许对此参数使用getXXX方法。执行完带此参数的SQL声明后,用getXXX方法可获取改变了的值。CallableStatement 执行存储过程演示结果6.5 元数据操作nDatabaseMetaData接口主要是用来得到关于数据库的信息。nDatabaseMetaData类的实例对象是通过Connection接口的getMetaData方法创建的。nDatabaseMetaData提供大量获取信息的方法,这些方法可分为两大类:一类返回值为boolean型,多用以检查数据库或驱动器是否支持某项功能;另一类则用获取数据库或
18、驱动器本身的某些特征值,返回值可能为整型,可能为字符串型,甚至可能是ResultSet接口的对象。DatabaseMetaData nDatabaseMetaData接口常见方法如图6-6所示。图图6-6 6-6 DatabaseMetaDataDatabaseMetaData接口的常用方法接口的常用方法 ResultSetMetaData nResultSetMetaData类用来获取数据库表的结构。nResultSetMetaData接口的常用方法见图6-7。图图6-7 6-7 ResultSetMetaDataResultSetMetaData接口的常用方法接口的常用方法6.6查询记录查
19、询记录 与与数数据据库库建建立立连连接接后后,就就可可以以使使用用JDBCJDBC提提供供的的APIAPI和和数数据据库库交交互互信信息息,如如查查询询、修修改改和和更更新新数数据据库库中中的的表表等等。对对一一个个数据库中表进行查询操作的具体步骤:数据库中表进行查询操作的具体步骤:n 创建创建SQLSQL语句对象语句对象 try Statement sql=con.createStatement();catch(SQLException e)System.out.println(e);n 处理查询结果处理查询结果 sqlsql对对象象可可以以调调用用相相应应的的方方法法实实现现对对数数据据库
20、库中中表表的的查查询询和和修修改改,并并将将查询结果存放在一个查询结果存放在一个ResultSetResultSet类声明的对象中类声明的对象中。ResultSet rs=sql.executeQuery(“SELECT*FROM 表名表名”);ResultSetResultSet对对象象使使用用nextnext()方方法法一一次次看看到到一一个个数数据据行行,用用getXxxgetXxx (索索引或字段名引或字段名)方法获取字段值。方法获取字段值。注注:P148:P148 注意内容。注意内容。6.6.1 6.6.1 顺序查询顺序查询&如何知道一个表中有哪些字段如何知道一个表中有哪些字段?1.
21、1.与与数数据据库库建建立立的的连连接接对对象象concon调调方方法法getMetaDatagetMetaData返返回回一一个个DatabaseMetaDataDatabaseMetaData对对象象.DatabaseMetaData metadata=con.getMetaData();2.2.MetadataMetadata对对象象再再调调用用getColumnsgetColumns()()方方法法可可以以将将表表的的字字段段信信息息以以行行列列的的形形式式存存储储在一个在一个ResultSetResultSet对象中。对象中。ResultSet tableMessage=metada
22、ta.getColumns(null,null,“employee“,null);表的字段信息以行列的形式存储在表的字段信息以行列的形式存储在tableMessagetableMessage对象中对象中.该该对对象象使使用用next()next()方方法法和和getXxxgetXxx (索索引引)方方法法查查看看该该行行中中信信息息,第第4 4列列是是字段名。字段名。例例6-3 P149example6_3.jsp 提交提交数据源和表名数据源和表名inquire.jsp调用调用tagtag查询数据库查询数据库 QueryTag.tag 查询数据库并返回结果查询数据库并返回结果 6.6.2 6.
23、6.2 随机查询随机查询&为为了了在在结结果果集集中中可可以以前前后后移移动动,随随机机显显示示若若干干记记录录,必须要返回一个可滚动的结果集。必须要返回一个可滚动的结果集。Statement stmt=con.createStatement(int type,int concurrency);ResultSet re=stmt.executeQuery(SQL语句句);int type,int concurrency取取值情况及情况及ResultSet常用方法常用方法见p151。例例6-4 P1526.6.3 6.6.3 条件查询条件查询&在在JSPJSP页页面面中中输输入入查查询询条条件件
24、,TagTag文文件件可可以以根根据据JSPJSP提提交交的条件进行查询。的条件进行查询。例例6-5 P1556.6.4 6.6.4 排序查询排序查询&可可以以在在SQLSQL语语句句中中使使用用ORDER ORDER BYBY子子语语句句,对对记记录录排排序序。在在JSPJSP页页面面中中输输入入排排序序方方式式,TagTag文文件件可可以以根根据据JSPJSP提提交交的的数数据进行据进行排序排序查询。查询。例例6-6 P1586.6.5 6.6.5 模糊查询模糊查询&在在JSPJSP页页面面中中输输入入模模糊糊查查询询条条件件,TagTag文文件件可可以以根根据据JSPJSP提交的条件进行
25、模糊查询。提交的条件进行模糊查询。&在在SQLSQL语语句句中中用用likelike进进行行模模式式匹匹配配,%代代替替零零个个或或多多个个字符,下划线代替一个字符等。字符,下划线代替一个字符等。比如,下述语句查询产品名称中含有比如,下述语句查询产品名称中含有“机机”的记录:的记录:rsrs=sql.executeQuery(SELECTsql.executeQuery(SELECT*FROM product WHERE name LIKE%*FROM product WHERE name LIKE%机机%);%);下述语句查询产品名称中含有下述语句查询产品名称中含有“电电”或或“手手”的记录
26、:的记录:rsrs=sql.executeQuery(“SELECTsql.executeQuery(“SELECT *FROM FROM product product WHERE WHERE name name LIKE LIKE%电电手手%”);”);例例6-7 P1606.7更新更新记录记录可以使用可以使用SQLSQL语句更新记录中字段的值。语句更新记录中字段的值。Statement对象调用方法:对象调用方法:public int executeUpdate(String sqlStatement);通通过过参参数数sqlStatement指指定定的的方方式式实实现现对对数数据据库库表
27、表中中记记录录的字段值更新。的字段值更新。例如:例如:executeUpdate(UPDATE product SET price=6866 WHERE name=海海尔电视机机);例例6-8 P1636.8添加记录添加记录 可以使用可以使用SQL语句添加新的记录。语句添加新的记录。Statement对象调用方法:对象调用方法:public int executeUpdate(String sqlStatement);通通过过参参数数sqlStatement指指定定的的方方式式实实现现向向数数据据库库表表中中添添加新的记录。加新的记录。例如:例如:executeUpdate(INSERTexe
28、cuteUpdate(INSERT INTO INTO students students VALUES VALUES(012,(012,神神 通通 手手 机机,2010-2-,2010-2-26,2687);26,2687);例例6-9 P1646.9删除记录删除记录 可以使用可以使用SQL语句删除记录。语句删除记录。Statement对象调用方法:对象调用方法:public int executeUpdate(String sqlStatement);删除数据库表中的记录。删除数据库表中的记录。例如:例如:executeUpdate(DELETEexecuteUpdate(DELETE F
29、ROM product WHERE number=888);FROM product WHERE number=888);例例6-10 P1676.10用结果集操作数据库中的表用结果集操作数据库中的表 可以使用内存中可以使用内存中ResultSetResultSet对象对底层数据库表进行更新和插入操作。对象对底层数据库表进行更新和插入操作。前提是要事先返回结果集。前提是要事先返回结果集。Connnection con=DriverManager.getConnection(jdbc:odbc:mystar,);Statement sql=con.createStatement(ResultSe
30、t.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet rs=sql.executeQuery(SELECT*FROM product);1 1。更新记录中的列值。更新记录中的列值 结果集结果集rsrs的游标移动到第的游标移动到第n n行行 rs.absolute(n);结果集将第结果集将第n n行的行的p p列的列值更新列的列值更新 updateInt(String columnName,int x)更多方法见更多方法见p168 更新数据库中的表更新数据库中的表 rs.absolute(3);rs.updateString(
31、name,IBM笔笔记本本);rs.updateRow();2 2。插入记录。插入记录 结果集结果集rsrs的游标移动到插入行的游标移动到插入行 rs.moveToInsertRow();更新插入行的列值更新插入行的列值updateXXXupdateXXX()()rs.updateString(2,神通手机神通手机);插入记录插入记录 insertRow()例例6-11 P1696.11预处理语句预处理语句 1 1。预处理语句优点。预处理语句优点 对对于于JDBCJDBC,如如果果使使用用ConnectionConnection和和某某个个数数据据库库建建立立了了连连接接对对象象concon,
32、那那么么concon就就可可以以调调用用方方法法对对参参数数sqlsql指指定定的的SQLSQL语语句句进进行行预预编编译译处处理理,生生成成该该数数据据库库底底层层的的内内部部命命令令,并并将该命令封装在将该命令封装在PreparedStatementPreparedStatement对象对象prepre中中 PreparedStatementPreparedStatement pre=pre=con.prepareStatement(Stringcon.prepareStatement(String sqlsql););对象对象prepre可以随时地执行下述方法,提高访问数据库的速度。可以
33、随时地执行下述方法,提高访问数据库的速度。ResultSetResultSet executeQueryexecuteQuery()()booleanboolean execute()execute()intint executeUpdateexecuteUpdate()()2 2。使用统配符。使用统配符 在对在对SQLSQL进行预处理时可以使用统配符进行预处理时可以使用统配符“?”来代替字段的值,只要在预处理语句执来代替字段的值,只要在预处理语句执行之前再设置统配符所表示的具体值即可。例如:行之前再设置统配符所表示的具体值即可。例如:pre=pre=con.prepareStatement(
34、SELECTcon.prepareStatement(SELECT*FROM product WHERE price?);*FROM product WHERE price?);pre.setDouble(1,6565);pre.setDouble(1,6565);(设置统配符设置统配符“?”的值的值)的功能等同于的功能等同于 pre=pre=con.prepareStatement(SELECTcon.prepareStatement(SELECT*FROM message WHERE price 6565);*FROM message WHERE price 6565);预处理语句设置统配
35、符预处理语句设置统配符“?”的值的常用方法见的值的常用方法见p173.p173.例例6-12,6-13 P1716.12事务事务事事务务由由一一组组SQLSQL语语句句组组成成,所所谓谓“事事务务处处理理”是是指指:应应用用程程序序保保证证事事务务中中的的SQLSQL语句要么全部都执行,要么一个都不执行。语句要么全部都执行,要么一个都不执行。事事务务是是保保证证数数据据库库中中数数据据完完整整性性与与一一致致性性的的重重要要机机制制。JDBCJDBC事事务务处处理理步步骤骤如下:如下:1 1。setAutoCommit(booleansetAutoCommit(boolean autoComm
36、itautoCommit)方法方法 为了能进行事务处理,必须关闭为了能进行事务处理,必须关闭连接对象连接对象 concon的默认设置。的默认设置。con.setAutoCommit(falsecon.setAutoCommit(false););mit()mit()方法方法 连接对象连接对象 concon调用调用commit()commit()方法就是让事务中的方法就是让事务中的SQLSQL语句全部生效。语句全部生效。mit();();3.rollback()3.rollback()方法方法 连连接接对对象象 concon调调用用rollback()rollback()方方法法,撤撤消消事事务
37、务中中成成功功执执行行过过的的SQLSQL语语句句对对数数据据库库数数据据所所做做的的更更新新、插插入入或或删删除除操操作作,即即撤撤消消引引起起数数据据发发生生变变化化的的SQLSQL语语句句操操作作,将将数数据据库库中中的数据恢复到的数据恢复到commicommi()()方法执行之前的状态。方法执行之前的状态。con.rollback();con.rollback();例例6-4 P1766.13常见数据库连接常见数据库连接 6.13.1 6.13.1 连接连接OracleOracle数据库数据库 下面介绍通过直接加载Oracle的Java数据库驱动程序来连接数据库的方法。安 装 Orac
38、le后,找 到 目 录 Oracle/ora81/jdbc中 的classes.jar(classes12.zip),即用java编写Oracle数据库驱动程序。将classes.jar复制到Tomcat引擎所使用的JDK的扩展目录中。通过如下的两个步骤和一个Oracle数据库建立连接。1.加载驱动程序 Class.forName(oracle.jdbc.driver.OracleDriver);2.建立连接 Connection con=DriverManager.getConnection(“jdbc:oracle:thin:主机主机host:端口号端口号:数据数据库名名“,”用用户名名“
39、,”密密码“);例例6-15 P1776.13.2 6.13.2 连接连接AccessAccess数据库数据库 AccessAccess也也是是比比较较流流行行的的一一种种数数据据库库管管理理系系统统,操操作作简简单单、使使用用方方便便。一些规模不大的一些规模不大的WebWeb应用经常使用应用经常使用AccessAccess数据库数据库管理系统。数据库数据库管理系统。下面介绍使用下面介绍使用JDBC-ODBCJDBC-ODBC桥接器方式连接桥接器方式连接AccessAccess数据库。数据库。1.建立JDBC-ODBC桥接器tryClass.forName(sun.jdbc.odbc.Jdbc
40、OdbcDriver);catch(ClassNotFoundExceptione)out.print(e);2.创 建 ODBC数 据 源 时 选 择 的 数 据 库 驱 动 程 序 为:Microsoft Access Driver(*.mdb),设置的数据源的名字为redsun 3.和ODBC数据源建立连接 Connectioncon=DriverManager.getConnection(“jdbc:odbc:“数数据据源源名名字字”,“登登录录名名”,“密密码码”);例例6-16 P1796.13.3 6.13.3 连接连接MySqlMySql数据库数据库 MySqlMySql是开源
41、项目,但功能强大、不依赖于平台,受到广泛的关注。是开源项目,但功能强大、不依赖于平台,受到广泛的关注。下面介绍使用加载下面介绍使用加载MySqlMySql的的JavaJava驱动程序来和驱动程序来和MySqlMySql数据库建立连接。数据库建立连接。解解压压mysql-connector-java-5.0.4.zipmysql-connector-java-5.0.4.zip文文件件至至硬硬盘盘,在在解解压压目目录录下下的的mysql-mysql-connector-java-5.0.4-bin.jarconnector-java-5.0.4-bin.jar文文件件就就是是连连接接MySqlM
42、ySql数数据据库库的的JavaJava数数据据库库驱驱动动程程序序。将将该该驱驱动动程程序序复复制制到到TomcatTomcat服服务务器器所所使使用用的的JDKJDK的的扩扩展展目目录录中中,比比如如:D:jdk1.6jrelibextD:jdk1.6jrelibext,或或复复制制到到TomcatTomcat服服务务器器安安装装目目录录的的commonlibcommonlib文文件件夹夹中。中。1.1.加载驱动程序加载驱动程序 try try Class.forName(com.mysql.jdbc.DriverClass.forName(com.mysql.jdbc.Driver);)
43、;catch(Exceptioncatch(Exception e)e)2.2.和指定的数据库建立连接和指定的数据库建立连接 try String try String uriuri=jdbc:mysql:/localhostjdbc:mysql:/localhost/数据库名数据库名;String user=“String user=“用户名用户名;String password=“String password=“密码密码;con=con=DriverManager.getConnection(uri,user,passwordDriverManager.getConnection(uri
44、,user,password););catch(SQLExceptioncatch(SQLException e)e)例例6-17 P1836.14查询查询Excel电子表格电子表格 通过通过JDBC-ODBCJDBC-ODBC桥接器访问桥接器访问ExcelExcel电子表格电子表格.步骤:步骤:1 1设置数据源设置数据源 为数据源选择的驱动程序是为数据源选择的驱动程序是Microsoft Excel DriverMicrosoft Excel Driver。2 2选择表选择表 必须在电子表格中选出一工作区作为连接时使用的表。必须在电子表格中选出一工作区作为连接时使用的表。在在ExcelExcel电子表格中拖动鼠标选出范围,如上图电子表格中拖动鼠标选出范围,如上图6.346.34所示。所示。然后在然后在ExcelExcel菜单中选择菜单中选择“插入插入”“”“名称名称”“”“定义定义”,给选中的工作区命名(这一工作区的名称将作为连接时使用给选中的工作区命名(这一工作区的名称将作为连接时使用的表名)。的表名)。例例6-18 P185