|
Applet 中应用 JDBC 访问数据库 Applet 是用 Java 语言编写的小应用程序,它能够嵌入在 HTML 中,并由 WWW 浏览器来解释执行。但是,如何在 Applet 中处理 Internet 世界中大量的数据和分布在网络各个角落的各种各样的数据库资源呢 ? 这就要使用 JDBC 。
一、 JDBC 的工作原理
JDBC(Java DataBase Connectivity) 是用于执行 SQL 语句的 Java 应用程序接口,由一组用 Java 语言编写的类与接口组成。 JDBC 是一种规范,它让各数据库厂商为 Java 程序员提供标准的数据库访问类和接口,这样就使得独立于 DBMS 的 Java 应用程序的开发工具和产品成为可能。 JDBC 是利用 JDBC-ODBC 桥通过 ODBC 来访问数据库的 .
二、 JDBC 编写数据库程序的方法
1. 建立数据源
建立数据源是指建立 ODBC 数据源。
2. 建立连接
与数据库建立连接的标准方法是调用方法 Drivermanger.getConnection(String url,String user,String password) 。 Drivermanger 类用于处理驱动程序的调入并且对新的数据库连接提供支持。
3. 执行 SQL 语句
JDBC 提供了 Statement 类来发送 SQL 语句, Statement 类的对象由 createStatement 方法创建 ;SQL 语句发送后,返回的结果通常存放在一个 ResultSet 类的对象中, ResultSet 可以看作是一个表,这个表包含由 SQL 返回的列名和相应的值, ResultSet 对象中维持了一个指向当前行的指针,通过一系列的 getXXX 方法,可以检索当前行的各个列,从而显示出来。
三、 JDBC 编写数据库程序的实现
为了便于问题的说明,作如下假设。运行环境: Windows 98 ( 附加 Personal Web Server(PWS)) 、 IE4.0 或以上浏览器、 Access97; 程序编辑、编译环境: VJ++6.0 。
1. 建立数据源 interweb ,其连接的数据库是使用 Access 97 建立的 interweb ,其中的表为 t_interdata ,结构如下:
字段名 类型 长度
bh 文本 10 // 编号
mc 文本 20 // 名称
dj 货币 自动 // 单价
2. 实现程序
用 VJ++6.0 建立 applet 小程序 Applet1.java ,并且如下修改其中的代码:
import java.awt.*; import java.applet.*; import java .sql.*; public class Applet1 extends Applet { public void init() { resize(400,300); } public void paint(Graphics g) // 此方法用于显示输出 { this .setBackground(Color.lightGray ); // 定义背景颜色 this .setForeground(Color.red); // 定义前景颜色 String url="jdbc:odbc:interweb"; String ls_1="select * from t_interdata"; Try // 异常处理模块 { Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver"); // 加载驱动程序 // 建立连接 Connection con=DriverManager.getConnection(url,"sa",""); // 执行 SQL Statement stmt=con.createStatement(); ResultSet result=stmt.executeQuery(ls_1); // 返回结果 g.drawString(" 编号 ",40,40); g.drawString(" 名称 ",80,40); g.drawString(" 价值 ",160,40); int i=10; while (result.next()) { // 取各个字段的值 g.drawString(result.getString(1),40,60+i); g.drawString(result.getString(2),80,60+i); g.drawString(result.getString(3),160,60+i); i+=20; } // 关闭连接 result.close(); stmt.close(); con.close(); } // 捕获异常 catch (SQLException ex){} catch (java.lang.Exception ex){} } }
编译后产生 Applet1.class 文件,嵌入到下面的 page1.html 中、
< HTML > < HEAD > < META NAME ="GENERATOR" Content ="Microsoft Visual Studio 6.0"> </ HEAD > < BODY > <!-- Insert HTML here --> < APPLET code =Applet1.class codebase ="http://yang/youngnewweb/interweb/web2/" height =200 name =Applet1 width =320 VIEWASTEXT > </ APPLET > </ BODY > </ HTML >
|
|