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

📄 resultsettable.java~56~

📁 我喜欢java,我现在在武汉最好的软件公司开发大型ERP系统
💻 JAVA~56~
字号:
import java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.table.*;public class ResultSetTable{  public static void main(String[] args){    JFrame frame = new ResultSetTableFrame();    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    frame.show();  }}class ResultSetTableFrame extends JFrame{  public ResultSetTableFrame() {    setTitle("ResultSet");    setSize(WIDTH, HEIGHT);    Container contentPane = getContentPane();    tableNames = new JComboBox();    tableNames.addActionListener(new        ActionListener(){           public void actionPerformed(ActionEvent evt){             try{               if (scrollPane != null)                 getContentPane().remove(scrollPane);               String tableName             = (String)tableNames.getSelectedItem();               if(rs != null) rs.close();               String query = "SELECT * FROM " + tableName;               rs = stat.executeQuery(query);               if(scrolling)                 model                   = new ScrollingResultSetTableModel(rs);               else                 model = new CachingResultSetTableModel(rs);               JTable table = new JTable(model);               scrollPane = new JScrollPane(table);               getContentPane().add(scrollPane,                   BorderLayout.CENTER);               pack();               doLayout();            }            catch(SQLException e){              e.printStackTrace();            }          }       });       JPanel p = new JPanel();       p.add(tableNames);       contentPane.add(p,BorderLayout.NORTH);       try{         conn = getConnection();         DatabaseMetaData meta = conn.getMetaData();         if(meta.supportsResultSetConcurrency(ResultSet.TYPE_SCROLL_INSENSITIVE,            ResultSet.CONCUR_READ_ONLY)){           scrolling = true;           stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,               ResultSet.CONCUR_READ_ONLY);         }         else{           stat = conn.createStatement();           scrolling = false;         }         ResultSet tables = meta.getTables(null,null,null,             new String[] {"TABLE"});         while(tables.next())           tableNames.addItem(tables.getString(3));        tables.close();       }       catch(IOException e){         e.printStackTrace();       }       catch(SQLException e){         e.printStackTrace();       }       addWindowListener(new         WindowAdapter(){            public void windowClosing(WindowEvent event){              try{                conn.close();              }              catch(SQLException e){                 e.printStackTrace();              }            }       }); } public static Connection getConnection()     throws SQLException,IOException{   Properties props = new Properties();   FileInputStream in       = new FileInputStream("database.properties");   props.load(in);   in.close();   String drivers = props.getProperty("jdbc.drivers");   if(drivers != null)     System.setProperties("jdbc.drivers",drivers);   String url = props.getProperty("jdbc.url");   String username = props.getProperty("jdbc.username");   String password = props.getProperty("jdbc.password");   return       DriverManager.getConnection(url,username,password); } private JScrollPane scrollPane; private ResultSetTableModel model; private JComboBox tableNames; private ResultSet rs; private Connection conn; private Statement stat; private boolean scrolling; private static final int WIDTH = 400; private static final int HEIGHT = 300;}abstract class ResultSetTableModel extends AbstractTableModel{  public ResultSetTableModel(ResultSet aResultSet){    rs = aResultSet;    try{      rsmd = rs.getMetaData();    }    catch(SQLException e){        e.printStackTrace();    }  }public String getColumnName(int c){      try{        return rsmd.getColumnName(c + 1);      }    catch(SQLException e){      e.printStackTrace();      return " ";    }}  public int getColumnCount(){    try{      return rsmd.getColumnCount();    }   catch(SQLException e){     e.printStackTrace();     return 0;   }  }  protected ResultSet getResultSet(){    return rs;  }  private ResultSet rs;  private ResultSetMetaData rsmd;}class ScrollingResultSetTableModel extends ResultSetTableModel{  public ScrollingResultSetTableModel(ResultSet aResultSet){  super(aResultSet);}public Object getValueAt(int r ,int c){  try{    ResultSet rs = getResultSet();    rs.absolute(r + 1);    return rs.getObject(c + 1);  }  catch(SQLException e){    e.printStackTrace();  //  return ;  } }}class CachingResultSetTableModel extends ResultSetTableModel{  public CachingResultSetTableModel(ResultSet aResultSet){    super(aResultSet);    try{      cache = new ArrayList();      int cols = getColumnCount();      ResultSet rs = getResultSet();      while(rs.next()){        Object [] row = new Object[cols];        for(int j=0;j<row.length;j++)          row[j] = rs.getObject(j + 1);        cache.add(row);      }    }     catch(SQLException e){        System.out.println("Error " + e);     }   }   public Object getValueAt(int r,int c){     if(r<cache.size())       return ((Object[])cache.get(r))[c];     else       return null;   }   public int getRowCount(){     return cache.size();   }   private ArrayList cache;  }

⌨️ 快捷键说明

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