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

📄 catchsqlexceptionframe.java

📁 JAVA数据库编程实例随书源码 JAVA数据库编程实例随书源码
💻 JAVA
字号:
package catchsqlexception;import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;/** * Title:			捕捉数据库访问异常 * Description:			教学示范 * Copyright:			Copyright (c) 2003 * Company:			北京师范大学计算机系 * @author			孙一林 * @version			1.0 */public class catchSQLExceptionFrame extends JFrame {  private JPanel contentPane;  private TextField tableField = new TextField();  private Label label1 = new Label();  private Label label2 = new Label();  private TextArea exceptionArea = new TextArea();  private Button queryButton = new Button();  Connection connection = null;                //定义与数据库进行连接的Connection对象  ResultSet rs = null;                         //定义数据库查询的结果集  Statement statement = null;                  //定义查询数据库的Statement对象  public catchSQLExceptionFrame() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  private void jbInit() throws Exception  {          //初始化用户界面    contentPane = (JPanel) this.getContentPane();    tableField.setBounds(new Rectangle(167, 16, 197, 29));    contentPane.setLayout(null);    this.setSize(new Dimension(400, 406));    this.setTitle("数据库异常捕捉");    label1.setText("请输入数据库表名:");    label1.setBounds(new Rectangle(45, 18, 114, 26));    label2.setText("数据库异常情况");    label2.setBounds(new Rectangle(155, 65, 91, 24));    exceptionArea.setEditable(false);    exceptionArea.setBounds(new Rectangle(13, 96, 374, 197));    queryButton.setLabel("查询");    queryButton.setBounds(new Rectangle(145, 327, 111, 29));    queryButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        queryButton_actionPerformed(e);      }    });    contentPane.add(exceptionArea, null);    contentPane.add(tableField, null);    contentPane.add(label1, null);    contentPane.add(label2, null);    contentPane.add(queryButton, null);  }  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      System.exit(0);    }  }  void queryButton_actionPerformed(ActionEvent e) {   //查询用户指定的数据库,若产生异常则在用户界面中显示    exceptionArea.setText("");                        //清空异常处理显示框    try {      String tableName = tableField.getText();        //获取用户指定的表名      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  //指定与数据库连接使用JDBC-ODBC桥驱动程序      String url = "jdbc:odbc:student";               //指定数据源名      connection = DriverManager.getConnection(url);  //与数据源建立连接      statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);  //创建Statement接口实例      String sql = "select * from " + tableName;      //创建取出用户指定的表中所有数据的SQL语句      ResultSet rs = statement.executeQuery(sql);     //将数据存入结果集中      JOptionPane msg = new JOptionPane();      JOptionPane.showMessageDialog(this, "查询成功", "查询成功!", 1);    }    catch(SQLException ex){                           //处理数据库访问异常      exceptionArea.append("\nERROR:----- SQLException -----\n");      while (ex != null) {                            //依次显示数据库访问的各条异常        exceptionArea.append("Message:   " + ex.getMessage() + "\n");    //获取数据库访问异常信息        exceptionArea.append("SQLState:  " + ex.getSQLState() + "\n");   //获取数据库访问异常状态        exceptionArea.append("ErrorCode: " + ex.getErrorCode() + "\n");  //获取数据库访问异常代码        ex = ex.getNextException();                                      //取得下一条访问异常      }    }    catch(Exception ex ) {                           //处理其他异常情况      exceptionArea.append(ex.toString() + "\n");    }    finally {      try {        if(statement != null)        {          statement.close();                      //关闭Statement接口实例        }        if(connection != null)        {          connection.close();                   //关闭Connection接口实例        }      }      catch (SQLException ex)  {        exceptionArea.append("\nERROR:----- SQLException -----\n");        while (ex != null) {                            //依次显示数据库访问的各条异常          exceptionArea.append("Message:   " + ex.getMessage() + "\n");    //获取数据库访问异常信息          exceptionArea.append("SQLState:  " + ex.getSQLState() + "\n");   //获取数据库访问异常状态          exceptionArea.append("ErrorCode: " + ex.getErrorCode() + "\n");  //获取数据库访问异常代码          ex = ex.getNextException();                                      //取得下一条访问异常        }      }    }  }}

⌨️ 快捷键说明

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