在applet是允许获取本地资源的,因此是不可能读取你数据库的资源
而且运行applet时,它的JVM用的是浏览器里面的,而不是你本系统的,因此即使你设置了正确的classpath也不能正常工作的,你的包在IE中根本没有,它不支持

解决方案 »

  1.   

    把com/borland/dx/dataset/DataSet打包成一个JAR文件,然后在<applet>标签的一个属性里指明,具体是哪个属性,我也忘拉。
    jdbc:oracle:thin:@192.168.1.102:1521:ora8这样好象不行的,有安全性问题
      

  2.   

    to icey(icey) 我是在同一台机器上面调试的,还有,可否在applet中直接存取数据库,如果不能,那要通过什么方法?
      

  3.   

    可以在applet中直接存取数据库,不过还是用applet连服务器端的servlet好。
      

  4.   

    to czb(草中宝) com/borland/dx/dataset/DataSet是在一个叫dx.jar的包中,请教在object中如何设置jar文件
      

  5.   

    我看过,java plug-in安装目录(jre)中的带的包,好像是没有数据库取的包,是不是所有的jre中没有的包都要在applet中带上,如果这样,是不是速度会很慢
      

  6.   

    是的,jre中没有的包都要在applet中指出路径,APPLET好象有个属性叫codebase的,在那里指定就是拉,然后让IE浏览器自动去下载。要下载速度当然会慢拉,不过你可以自己打包,需要用到的包你才打,不需要用的就不打,这样速度就能提高很多了。
    另外用applet直接连服务器段的数据库是有安全性限制的,一般都是用applet连服务器的servlet,然后用servlet和数据库打交道,servlet把结果返回给applet。
      

  7.   

    多谢czb(草中宝) ,请你帮我看一下第二个问题好吗,那个不是applet中的代码,是一个标准的appciation
      

  8.   

    没有捕获SQLException异常,在事件处理中这样写(没有调试,你把声明的变量定义在外边就行了):
    try
    {
        sql="select * from ycb.kqdak where bm='高研所'";
        rs=stmt.executeQuery(sql);
        while(rs.next())
        jComboBox3.addItem(rs.getString(2));
    }
    catch(SQLException sqlException)
    {
    sqlException.printStackTrace();
    }
      

  9.   

    我试过这样,但没有用,照样发生异常,只不过可以编译而已,一样不能正常执行而且我的
    private Connection con;
    private Statement stmt;
    private ResultSet rs;
    都类级的变量,不是方法中的
      

  10.   

    应该是汉字的问题,需要对输入的sql语句进行转换
    select * from ycb.kqdak where bm='高研所' 包含了汉字。
      

  11.   

    select * from ycb.kqdak where bm='高研所' 在前一段代码中运行正常,只是把它放到事件处理中时了生异常
      

  12.   

    意思是说发生了没有报告的异常的意思,你把响应事件里的
    catch(SQLException sqlException)
    {
    sqlException.printStackTrace();

    换成
    catch(Exception exception)
    {
    exception.printStackTrace();

    看看到底发生了什么异常吧。
      

  13.   

    to czb(草中宝) 第二个问题已经解决了,把代码放在try....catch中就没有问题,是不是java要处理所有被调用方法声明的异常
      

  14.   

    啊,老弟,不好意思,我不知道你不明白这个,其实我上面回答的也是这样的啊。
    不是所有的异常都要捕获拉,有叫运行时异常的才需要捕获,象这里的SQLException,还有输入输出的IOException,这两类比较常见吧。等你做多了,自然明白了,如果没有捕获,编译就会提示你的。
      

  15.   

    涉及数据库操作的要捕获SQLException异常,涉及输入输入操作的要捕获IOException
      

  16.   

    要在applet中直接连数据库,那数据库必须与web server放在同一服务器上
      

  17.   

    本人学java刚半个月,确实很菜,还望各位多指教
    对了 czb(草中宝) ,我的QQ:1344293,留下你的QQ,有空聊聊