📄 dbapplet.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 + -