java executor 源码_queryexecutor.java

import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;import javax.swing.event.*;import java.sql.*;import java.io.*;import javax.sql.rowset.*;import com.sun.rowset.*;/** * Description: * Copyright (C), 2005-2008, Yeeku.H.Lee * This program is protected by copyright laws. * Program Name: * Date: * @author Yeeku.H.Lee kongyeeku@163.com * @version 1.0 */public class QueryExecutor{JFrame jf = new JFrame("查询执行器");private JScrollPane scrollPane;private DefaultTableModel model;private JButton execBn = new JButton("查询");//用于装载数据表的JComboBoxprivate JTextField sqlField = new JTextField(45);private static Connection conn;private static Statement stmt;private ResultSet rs;static{try{Properties props = new Properties();FileInputStream in = new FileInputStream("mysql.ini");props.load(in);in.close();String drivers = props.getProperty("driver");String url = props.getProperty("url");String username = props.getProperty("user");String password = props.getProperty("pass");//加载数据库驱动Class.forName(drivers);//取得数据库连接conn = DriverManager.getConnection(url, username, password);stmt = conn.createStatement();}catch (Exception e){e.printStackTrace();}}public void init(){JPanel top = new JPanel();top.add(sqlField);top.add(execBn);execBn.addActionListener(new ExceListener());jf.add(top , BorderLayout.NORTH);jf.setSize(640, 480);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);}class ExceListener implements ActionListener{public void actionPerformed(ActionEvent evt){try{if (scrollPane != null){//从主窗口中删除表格jf.remove(scrollPane);}rs = stmt.executeQuery(sqlField.getText());ResultSetMetaData rsmd = rs.getMetaData();Vector columnNames = new Vector();Vector data = new Vector();for (int i = 0 ; i < rsmd.getColumnCount(); i++ ){columnNames.add(rsmd.getColumnName(i + 1));}while (rs.next()){Vector v = new Vector();for (int i = 0 ; i < rsmd.getColumnCount(); i++ ){v.add(rs.getString(i + 1));}data.add(v);}System.out.println("---------" + columnNames);model = new DefaultTableModel(data , columnNames);JTable table = new JTable(model);scrollPane = new JScrollPane(table);jf.add(scrollPane, BorderLayout.CENTER);jf.validate();}catch (Exception e){e.printStackTrace();}}}public static void main(String[] args) {new QueryExecutor().init();}}

经验分享 程序员 微信小程序 职场和发展