/* 设置动态SQL参数值 */ pstmt.setString(1, code);
/* 执行查询,并将结果保存到结果集中 */ ResultSet rset = pstmt.executeQuery(); /* 循环获取并处理结果集数据 */ while(rset.next())
article_number = article_number + rset.getString(1) + \篇\/* 关闭结果集 */ rset.close();
/* 关闭动态SQL语句 */ pstmt.close();
} catch (SQLException e) {} return article_number; } }
2. 装载Java代码及类到Oracle8i数据库中
在编写了Java源代码之后,就可以将Java对象装载到Oracle8i数据库中了。下面是完成这项任务的方法:
3. 发行Java,生成调用说明
在装载了Java类后,就可以发行该Java类,并生成调用其方法的函数说明了。下面是完成该项任务的方法:
4. 调用JSP
在生成了调用Java方法的函数说明之后,就可以调用这些函数了。例如:
使用Java开发包
Java类用于封装Java方法,与此类似,包用于封装过程和函数等。本节将通过创建用于管理表subject的包为例,说明使用Java开发包的方法。如下图所示:
下面讲述完成上述任务的方法和过程。 1. 编写Java源代码
程序清单如下(manage_subject.java): /* 导入Java类 */ import java.sql.*; import java.io.*;
import oracle.jdbc.driver.*; /* 主类 */
public class manage_subject { public static String query_subject() throws SQLException { /* 建立到数据库的缺省连接 */
Connection conn = new OracleDriver().defaultConnection(); /* 构造SQL语句 */
String sql = \/* 声明并初始化subject变量 */ String subject = new String();
/* 使用try ... catch语句抓取并抛出例外 */ try {
/* 创建Statement对象 */
Statement stmt = conn.createStatement(); /* 执行SQL语句,并将查询结果赋给结果集 */ ResultSet rset = stmt.executeQuery(sql); /* 循环获取并处理结果集变量 */ while(rset.next())
subject = subject + rset.getString(1) + \/* 关闭结果集 */ rset.close();
} catch (SQLException e) {} return subject; }
public static void insert_subject(String subject) throws SQLException { /* 建立到数据库的缺省连接 */
Connection conn = new OracleDriver().defaultConnection(); /* 构造动态SQL语句 */
String sql = \/* 使用try ... catch语句抓取并抛出例外 */ try {
/* 准备动态SQL语句 */
PreparedStatement pstmt = conn.prepareStatement(sql); /* 设置动态SQL参数值 */ pstmt.setString(1, subject); /* 执行动态SQL语句 */ pstmt.executeUpdate(); /* 关闭动态SQL语句 */ pstmt.close();
} catch (SQLException e) {} }
public static void delete_subject(String subject) throws SQLException { /* 建立到数据库的缺省连接 */
Connection conn = new OracleDriver().defaultConnection(); /* 构造动态SQL语句 */
String sql = \/* 使用try ... catch语句抓取并抛出例外 */ try {
/* 准备动态SQL语句 */
PreparedStatement pstmt = conn.prepareStatement(sql); /* 设置动态SQL参数值 */ pstmt.setString(1, subject); /* 执行动态SQL语句 */ pstmt.executeUpdate(); /* 关闭动态SQL语句 */ pstmt.close();
} catch (SQLException e) {} }
public static void update_subject(String old_subject,String new_subject) throws SQLException { /* 建立到数据库的缺省连接 */
Connection conn = new OracleDriver().defaultConnection(); /* 构造动态SQL语句 */
String sql = \/* 使用try ... catch语句抓取并抛出例外 */