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

📄 dbapplet.java

📁 递归子程序法:对应每个非终结符语法单元编一个独立的处理过程(或子程序)。语法分析从读入第一个单词开始
💻 JAVA
字号:
package dbapplet;
	/** 
	 * Java语言实验参考程序
	 * Company 北京师范大学计算机系 
	 * @author 孙一林
	 * @version 1.0
	 */
import java.sql.*;
import javax.swing.*;

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 + -