⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbapplet.java

📁 JAVA数据库编程实例随书源码
💻 JAVA
字号:
import java.sql.*;import javax.swing.*;/** * Title:        Applet小程序访问和操纵数据库 * Description:  Java语言演示程序:Applet小程序访问和操纵数据库,用于北京师范大学计算机系Java课程教学示范。 * Copyright:    Copyright (c) 2002 * Company:      北京师范大学计算机系 * @author 孙一林 * @version 1.0 */public class DBApplet extends JApplet {  private javax.swing.JScrollPane jScrollPane1;  private javax.swing.JTextArea taResponse;  private javax.swing.JPanel jPanel2;  private javax.swing.JPanel jPanel1;  private javax.swing.JLabel jLabel6;  private javax.swing.JTextField tfSql;  private javax.swing.JButton btnExecute;  private javax.swing.JPanel jPanel3;  private javax.swing.JLabel jLabel3;  private javax.swing.JPanel jPanel4;  private javax.swing.JComboBox cbDriver;  private javax.swing.JLabel jLabel7;  private javax.swing.JTextField tfUrl;  private javax.swing.JLabel jLabel9;  private javax.swing.JTextField tfUser;  private javax.swing.JLabel jLabel10;  private javax.swing.JTextField tfPassword;  private javax.swing.JButton btnConnect;  private javax.swing.JButton btnDisconnect;  final static private String[] jdbcDriver = {    "com.informix.jdbc.IfxDriver",    "sun.jdbc.odbc.JdbcOdbcDriver",    "com.borland.datastore.jdbc.DataStoreDriver",    "com.sybase.jdbc.SybDriver",    "oracle.jdbc.driver.OracleDriver",    "COM.ibm.db2.jdbc.net.DB2Driver",    "interbase.interclient.Driver",    "weblogic.jdbc.mssqlserver4.Driver"  };  private boolean connected = false;  private Connection connection = null;  private ResultSet rs = null;  private String query = null;  private String rsLine = null;  private String driver = null;  private String url = null;  private String user = null;  private String password = null;  public DBApplet() {    initComponents ();    postInit();  }  private void postInit() {    for (int i = 0; i < jdbcDriver.length; i++) {    cbDriver.addItem(jdbcDriver[i]);    }  }  private void initComponents() {    jScrollPane1 = new javax.swing.JScrollPane();    taResponse = new javax.swing.JTextArea();    jPanel2 = new javax.swing.JPanel();    jPanel1 = new javax.swing.JPanel();    jLabel6 = new javax.swing.JLabel();    tfSql = new javax.swing.JTextField();    btnExecute = new javax.swing.JButton();    jPanel3 = new javax.swing.JPanel();    jLabel3 = new javax.swing.JLabel();    jPanel4 = new javax.swing.JPanel();    cbDriver = new javax.swing.JComboBox();    jLabel7 = new javax.swing.JLabel();    tfUrl = new javax.swing.JTextField();    jLabel9 = new javax.swing.JLabel();    tfUser = new javax.swing.JTextField();    jLabel10 = new javax.swing.JLabel();    tfPassword = new javax.swing.JTextField();    btnConnect = new javax.swing.JButton();    btnDisconnect = new javax.swing.JButton();    setFont(new java.awt.Font ("Verdana", 0, 12));    jScrollPane1.setViewportView(taResponse);    getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);    getContentPane().add(jPanel2, java.awt.BorderLayout.EAST);    jLabel6.setText("SQL:");    jPanel1.add(jLabel6);    tfSql.setPreferredSize(new java.awt.Dimension(300, 21));    jPanel1.add(tfSql);    btnExecute.setText("执行SQL语句");    btnExecute.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(java.awt.event.ActionEvent evt) {        btnExecuteActionPerformed(evt);      }    });    jPanel1.add(btnExecute);    getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH);    jPanel3.setPreferredSize(new java.awt.Dimension(550, 100));    jPanel3.setMinimumSize(new java.awt.Dimension(550, 100));    jPanel3.setMaximumSize(new java.awt.Dimension(550, 100));    jLabel3.setText("JDBC 驱动程序:");    jPanel3.add(jLabel3);    jPanel3.add(jPanel4);    cbDriver.setPreferredSize(new java.awt.Dimension(450, 26));    cbDriver.setMinimumSize(new java.awt.Dimension(100, 26));    jPanel3.add(cbDriver);    jLabel7.setText("数据库 URL:");    jPanel3.add(jLabel7);    tfUrl.setPreferredSize(new java.awt.Dimension(450, 21));    jPanel3.add(tfUrl);    jLabel9.setText("用户名(User):");    jPanel3.add(jLabel9);    tfUser.setPreferredSize(new java.awt.Dimension(100, 21));    jPanel3.add(tfUser);    jLabel10.setText("密码(Password):");    jPanel3.add(jLabel10);    tfPassword.setPreferredSize(new java.awt.Dimension(100, 21));    jPanel3.add(tfPassword);    btnConnect.setPreferredSize(new java.awt.Dimension(89, 27));    btnConnect.setMaximumSize(new java.awt.Dimension(89, 27));    btnConnect.setText("连接");    btnConnect.setMinimumSize(new java.awt.Dimension(89, 27));    btnConnect.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(java.awt.event.ActionEvent evt) {        btnConnectActionPerformed(evt);      }    });    jPanel3.add(btnConnect);    btnDisconnect.setText("断开连接");    btnDisconnect.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(java.awt.event.ActionEvent evt) {        btnDisconnectActionPerformed(evt);      }    });    jPanel3.add(btnDisconnect);    getContentPane().add(jPanel3, java.awt.BorderLayout.NORTH);  }  private void btnExecuteActionPerformed(java.awt.event.ActionEvent evt) {    if (!connected) {      SwingUtilities.invokeLater(        new Runnable() {          public void run() {            taResponse.append("没有数据库连接!\n");          }        }      );    } else {      if (connection == null) {        SwingUtilities.invokeLater(          new Runnable() {            public void run() {              taResponse.append("数据库连接错误!\n");            }          }        );      } else {        try {          query = tfSql.getText();          Statement stmt = connection.createStatement();          SwingUtilities.invokeLater(            new Runnable() {              public void run() {                taResponse.append("执行SQL语句: " + query + "\n");              }            }          );      rs = stmt.executeQuery(query);      ResultSetMetaData rsmd = rs.getMetaData();      int count = rsmd.getColumnCount();      int i;      rsLine = "\n";      while (rs.next()) {        for (i = 1; i <= count; i++) {          rsLine += rs.getString(i) + " ";        }        rsLine += "\n";      }      rsLine += "\n";      stmt.close();      SwingUtilities.invokeLater(        new Runnable() {          public void run() {            taResponse.append(rsLine);          }        }      );      } catch (SQLException e) {          SwingUtilities.invokeLater(            new Runnable() {              public void run() {                taResponse.append("SQL语句执行失败!\n");              }            }          );          e.printStackTrace();        }      }    }  }  private void btnDisconnectActionPerformed(java.awt.event.ActionEvent evt) {    if (connected) {      try {        if (connection != null) {          connection.close();          connection = null;          SwingUtilities.invokeLater(            new Runnable() {              public void run() {                taResponse.append("断开数据库连接!\n");              }            }          );        }      } catch (SQLException e) {          SwingUtilities.invokeLater(            new Runnable() {              public void run() {                taResponse.append("断开数据库连接错误!\n");              }            }          );          e.printStackTrace();        }        connected = false;        driver = null;        url = null;        user = null;        password = null;        } else {          SwingUtilities.invokeLater(            new Runnable() {              public void run() {                taResponse.append("数据库已经断开连接!\n");              }            }        );      }    }  private void btnConnectActionPerformed(java.awt.event.ActionEvent evt) {    if (connected) {      taResponse.append("数据库已经连接!\n");    } else {        driver = (String) cbDriver.getSelectedItem();        url = tfUrl.getText();        user = tfUser.getText();        password = tfPassword.getText();        try {          SwingUtilities.invokeLater(            new Runnable() {              public void run() {                taResponse.append("使用 JDBC 驱动程序: " + driver + "\n");              }            }          );          Class.forName(driver).newInstance();          connection = DriverManager.getConnection(url, user, password);          if (connection != null) {            SwingUtilities.invokeLater(              new Runnable() {                public void run() {                  taResponse.append("数据库 " + url + " 连接成功!\n");                }              }            );            connected = true;          }        } catch (ClassNotFoundException e) {            SwingUtilities.invokeLater(              new Runnable() {                public void run() {                  taResponse.append("不能装载 JDBC 驱动程序!\n");                }              }            );            e.printStackTrace();        } catch (SQLException e) {            SwingUtilities.invokeLater(              new Runnable() {                public void run() {                  taResponse.append("不能连接数据库!\n");                }              }            );            e.printStackTrace();          } catch (Exception e) {        e.printStackTrace();      }    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -