其实我个人认为Applet要访问数据库的话,采用我以前一篇文章《Servlet传送查询记录集给Applet》的方法去实现比较好的,这样可以不用客户端下载jdbc驱动程序,同时也不必暴露数据库结构。所以这篇文章仅作为技术探讨。     我这里要讲解的是Applet直接访问SQLServer2000的实例,我想其他的数据库也是类似了。准备工作,到微软站点下载Microsoft SQL Server 2000 Driver for JDBC。下面详解各个步骤: 1。写一个简单的Applet import java.awt.*; import java.applet.*; import java.sql.*; 
public class Test extends Applet {  private String strErrorMessage = "";  public void init() {   try{    //注册SQLServer2000 jdbc驱动程序    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");    //连接数据库    Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.9.200.52:1433;databaseName=bluesite", "sa", "");    String sql= "SELECT UserName FROM UserInfo";    Statement   stmt = conn.createStatement();    ResultSet   rslt = stmt.executeQuery(sql);    while (rslt.next())    {     strErrorMessage +=rslt.getString(1);    }    rslt.close();    stmt.close();    conn.close();   } catch (Exception exp) {    strErrorMessage += exp.toString();   }  } 
 public void paint(Graphics g) {   g.drawString(strErrorMessage, 50, 60 );  } } 编译。 
2。打包数据库驱动程序与Test.class 建一个Test.jar,把Test.class,以及SQLServer2000驱动程序的三个jar文件解出来打包进去。 最后的Test.jar目录结构如下: com\microsoft\jdbc[目录] com\microsoft\jdbcx[目录] com\microsoft\util[目录] Test.class 
3。写一个使用的html文件 <HTML> <HEAD> </HEAD> <BODY> <CENTER> <APPLET  code = "Test.class"  archive = "Test.jar"  width = "800"  height = "300"  > </APPLET> </CENTER> </BODY> </HTML> 
4。编辑策略文件.java.policy 
grant {   permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.util";   permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbc";   permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbcx";   permission java.net.SocketPermission "192.9.200.52:1433", "connect"; }; 
注:192.9.200.52是数据库服务器的ip,1433是sqlserver开的连接端口 保存到系统盘:\Documents and Settings\UserName下,注意这个文件是要保存到客户端的 
5。运行测试 直接在浏览器中打开那个html文件。应该可以看到结果 
    全文完。如有不详之处请邮件联系[email protected]  
 
  |