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

📄 displayqueryresults.java~2~

📁 java 数据库编程源代码
💻 JAVA~2~
字号:
package displayqueryresults;import java.applet.*;import java.sql.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;/** * Title:        显示查询数据库结果 * Description:  Java语言演示程序:显示查询数据库结果,用于北京师范大学计算机系Java课程教学示范。 * Copyright:    Copyright (c) 2002 * Company:      北京师范大学计算机系 * @author 孙一林 * @version 1.0 */ public class DisplayQueryResults extends JFrame {   private Connection connection;         // 数据库变量定义   private Statement statement;   private ResultSet resultSet;   private ResultSetMetaData rsMetaData;   private JTable table;   private JTextArea inputQuery;   private JButton submitQuery;   public DisplayQueryResults() {      super( "输入SQL语句,按查询按钮查看结果。" );      //标题      String url = "jdbc:odbc:student.mdb";      String username = "xiao";      String password = "1978";      try {         Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );         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 性别 = '女';";      inputQuery = new JTextArea( test, 4, 30 );      submitQuery = new JButton( "查询" );      submitQuery.addActionListener(              // 定义Button事件         new ActionListener() {            public void actionPerformed( ActionEvent e )            {               getTable();            }         }      );      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( 500, 300 );      show();                               // 显示窗口   }   private void getTable() {      try {         String query = inputQuery.getText();         statement = connection.createStatement();         resultSet = statement.executeQuery( query );    //执行SQL语句         displayResultSet( resultSet );                 // 显示查询结果      }      catch ( SQLException sqlex ) {         sqlex.printStackTrace();      }   }   private void displayResultSet( ResultSet rs ) throws SQLException {      boolean moreRecords = rs.next();      // 定位到第一条记录      if ( ! moreRecords ) {                // 如果没有记录,则显示一条消息         JOptionPane.showMessageDialog( this,"结果集中无记录" );         setTitle( "无记录显示" );         return;      }      Vector columnHeads = new Vector();    // 声明向量对象并实例化向量      Vector rows = new Vector();      try {         ResultSetMetaData rsmd = rs.getMetaData();         // 获取字段的名称         for ( int i = 1; i <= rsmd.getColumnCount(); ++i )            columnHeads.addElement( rsmd.getColumnName( i ) );         do {                                               // 获取记录集            rows.addElement( getNextRow( rs, rsmd ) );         } while ( rs.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 rs,ResultSetMetaData rsmd ) throws SQLException{      Vector currentRow = new Vector();      for ( int i = 1; i <= rsmd.getColumnCount(); ++i )         currentRow.addElement( rs.getString( i ) );      return currentRow;      //返回一条记录   }   public void shutDown()  {      try {         connection.close();        	 //断开数据库连接      }      catch ( SQLException sqlex ) {         System.err.println( "不能断开数据库连接" );         sqlex.printStackTrace();      }   }   public static void main( String args[] ) {      final DisplayQueryResults app = new DisplayQueryResults();      app.addWindowListener(         new WindowAdapter() {            public void windowClosing( WindowEvent e ) {               app.shutDown();               System.exit( 0 );            }         }      );   }}

⌨️ 快捷键说明

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