岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> 核心技术 >> SwingAwtApplet >> Java正文
在applet中使用JDBC的一点总结
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-22 16:45:57

  
  最近,在这里看到了几篇关于在applet中使用JDBC访问数据库的帖子,觉得大侠们有的回复很绝对,说applet不能访问数据库,不敢苟同,于是参照Sun的网上教程"[url=http://cn.sun.com/developers/onlineTraining/Programming/BasicJava1/data.html]Java程序设计语言基础: 实践指南,第1部分[/url]",做了一些实验,总结出来与大家分享,也请多多指教。
  
  实验环境
  DB Server #1: Solairs 8 + Oracle 8.1.7 + apache
  DB Server #2: Solairs 8 + Oracle 8.1.7
  Client: Windows2000 SP4 + J2SE1.4.1 + Oracle JDBC Driver
  
  实验中使用的数据表的结构
  
  TABLE DBA (
      TEXT varchar2(100),
      primary key (TEXT)
  )
  
  applet的源代码
  
  import java.awt.Color;
  import java.awt.BorderLayout;
  import java.awt.event.*;
  import java.applet.Applet;
  import javax.swing.*;
  import java.sql.*;
  import java.net.*;
  import java.io.*;
  
  public class DbaAppl extends Applet implements ActionListener {
  
    JLabel text, clicked;
    JButton button, clickButton;
    JTextField textField;
    private boolean _clickMeMode = true;
    private Connection c;
  
    final static private String _driver = "oracle.jdbc.driver.OracleDriver";
    final static private String _url = "jdbc:oracle:thin:username/password@(description=(address_list=(address=(protocol=tcp)(host=developer)(port=1521)))(source_route=yes)(connect_data=(sid=ansid)))";
  
    public void init(){
     setBackground(Color.white);
     text = new JLabel("Text to save to file:");
     clicked = new JLabel("Text retrieved from file:");
     button = new JButton("Click Me");
     button.addActionListener(this);
     clickButton = new JButton("Click Again");
     clickButton.addActionListener(this);
     textField = new JTextField(20);
     setLayout(new BorderLayout());
     setBackground(Color.white);
     add(BorderLayout.NORTH, text);
     add(BorderLayout.CENTER, textField);
     add(BorderLayout.SOUTH, button);
    }
  
    public void start(){ 
     System.out.println("Applet starting.");
    } 
  
    public void stop(){
     System.out.println("Applet stopping.");
    }
  
    public void destroy(){
    System.out.println("Destroy method called.");
    }
  
    public void actionPerformed(ActionEvent event){
     try{
      Class.forName (_driver);
      c = DriverManager.getConnection(_url);
     }catch (java.lang.ClassNotFoundException e){
      System.out.println("Cannot find driver");
      System.out.println(e.getMessage());
     }catch (java.sql.SQLException e){
      System.out.println("Cannot get connection"); 
      System.out.println(e.getMessage());
     }
  
     Object source = event.getSource();
     if(source == button){
      if(_clickMeMode){
       JTextArea displayText = new JTextArea();
       try{
     //Write to database
       String theText = textField.getText();
       Statement stmt = c.createStatement();
       String updateString = "INSERT INTO dba VALUES ('" + theText + "')";
       int count = stmt.executeUpdate(updateString);
    //Read from database
       ResultSet results = stmt.executeQuery("SELECT TEXT FROM dba "); 
       while(results.next()){
        String s = results.getString("TEXT");
        displayText.append(s + "\n");
       }
       stmt.close();
       }catch(java.sql.SQLException e){
       System.out.pri

[1] [2] 下一页


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    传世私服 传奇世界私服 天龙八部私服 bet365 传世私服 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365