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

📄 queryevent.java

📁 用Java实现图书管理系统免费下载测试过了很好
💻 JAVA
字号:

/**
 * 显示查询数据库结果
 */

import java.applet.*;
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

 public class QueryEvent extends JFrame {
   private Connection connection;
         // 数据库变量定义
   private Statement statement;
   private ResultSet resultSet;
   private ResultSetMetaData metaData;
   private JTable table;
   private JTextArea inputQuery;
   private JButton submitQuery;
   public QueryEvent() {
      super( "输入SQL语句,按查询按钮查看结果" );
      //输出标题
      String url = "jdbc:odbc:info.mdb";
      String username = "infodb";
      String password = "123456";
      try {
         Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
         //加载odbc数据驱动
         connection = DriverManager.getConnection(url, username, password );
      }
      catch ( ClassNotFoundException cnfex ) {
         System.err.println( "装载 JDBC/ODBC 驱动程序失败。" );
         cnfex.printStackTrace();
         System.exit( 1 );
      }
      catch ( SQLException sqlex ) {
         System.err.println( "无法连接数据库" );
         sqlex.printStackTrace();
         System.exit( 1 );
      }
      String test="select * from test where  年龄 = 20;";
      inputQuery = new JTextArea( test, 4, 30 );
      submitQuery = new JButton( "查询" );
      submitQuery.addActionListener(
         new ActionListener() {
            public void actionPerformed( ActionEvent e )
            {
               getTable();
            }
         }// 定义Button监听
      );
      JPanel topPanel = new JPanel();
        // 创建布局界面
      topPanel.setLayout( new BorderLayout() );
      topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
      topPanel.add( submitQuery, BorderLayout.SOUTH );
      table = new JTable();
      Container c = getContentPane();
      c.setLayout( new BorderLayout() );
      c.add( topPanel, BorderLayout.NORTH );
      c.add( table, BorderLayout.CENTER );
      getTable();
      setSize( 400, 300 );
      show();
        // 显示窗口
   }
   private void getTable() {
      try {
         String query = inputQuery.getText();
         statement = connection.createStatement();
         resultSet = statement.executeQuery( query );    //执行SQL语句
         QueryResultSet( resultSet );                 // 显示查询结果
      }
      catch ( SQLException sqlex ) {
         sqlex.printStackTrace();
      }
   }
   private void QueryResultSet( ResultSet row ) throws SQLException {
      boolean moreRecords = row.next();
        // 定位到第一条记录
      if ( ! moreRecords ) {
         JOptionPane.showMessageDialog( this,"无记录" );
         setTitle( "无记录显示" );
         return;
      }// 如果没有记录,则显示消息
      Vector columnHeads = new Vector();
         // 声明向量对象并实例化向量
      Vector rows = new Vector();
      try {
         ResultSetMetaData recor = row.getMetaData();
         // 获取字段的名称
         for ( int i = 1; i <= recor.getColumnCount(); ++i )
            columnHeads.addElement( recor.getColumnName( i ) );
         do {                                               // 获取记录集
            rows.addElement( getNextRow( row, recor ) );
         } while ( row.next() );
         // 显示查询结果
         table = new JTable( rows, columnHeads );
         JScrollPane scroller = new JScrollPane( table );
         Container c = getContentPane();
         c.remove(1);
         c.add( scroller, BorderLayout.CENTER );
         c.validate();
      }
      catch ( SQLException sqlex ) {
         sqlex.printStackTrace();
      }
   }
   private Vector getNextRow( ResultSet row,ResultSetMetaData recor ) throws SQLException{
      Vector currentRow = new Vector();
      for ( int i = 1; i <= recor.getColumnCount(); ++i )
         currentRow.addElement( row.getString( i ) );
      return currentRow;
        //返回一条记录
   }
   public void disconnect()  {
      try {
         connection.close();
         //关闭数据库连接
      }
      catch ( SQLException sqlex ) {
         System.err.println( "无法关闭数据库连接" );
         sqlex.printStackTrace();
      }
   }
   public static void main( String args[] ) {
      final QueryEvent ben = new QueryEvent();
      ben.addWindowListener(
         new WindowAdapter() {
            public void windowClosing( WindowEvent e ) {
               ben.disconnect();
               System.exit( 0 );
            }
         }
      );
   }
}

⌨️ 快捷键说明

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