在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> 摘自《软件世界》 
  

解决方案 »

  1.   

    applet是不可以直接访问数据库的,
    你在需要访问数据库的时候,先由applet向servlet发请求,通过servlet进行访问数据库的响应操作,然后把结果返回给applet的客户端进行显示.
    servlet是没有任何权限限制的,它可以方便的访问到本地的任何资源。
      

  2.   

    象第一个人说的用VJ++,我觉得是不提倡用的,它的有些东西和sun的java不太一样,推荐你不要使用