Applet直接访问数据库


    其实我个人认为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文件。应该可以看到结果

    全文完。如有不详之处请邮件联系zlyperson@163.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kyle-soft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值