📄 queryevent.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 static final long serialVersionUID = 1L;
private Connection connection;
private Statement statement;
private ResultSet resultSet;
// private ResultSetMetaData metaData;
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery;
private JButton submitQuery1;
private JButton submitQuery2;
private JButton submitQuery3;
public QueryEvent()
{
super("Input SQL contentment here");
String url="jdbc:odbc:TestDB";
String username="sa";
String password="";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection=DriverManager.getConnection(url,username,password);
}
catch(ClassNotFoundException cnfex)
{
System.err.println("jdbc failed");
cnfex.printStackTrace();
System.exit(1);
}
catch(SQLException sqlex)
{
System.err.println("database failed");
sqlex.printStackTrace();
System.exit(1);
}
String sqlStr="Select * from Users";
inputQuery=new JTextArea(sqlStr,4,30);
submitQuery=new JButton("Find");
submitQuery.addActionListener(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(400,300);
setVisible(true);
}
private void getTable()
{
try
{
String query=inputQuery.getText();
statement=connection.createStatement();
resultSet=statement.executeQuery(query);
QueryResultSet(resultSet);
}
catch(SQLException sqlex)
{
sqlex.printStackTrace();
}
}
private void QueryResultSet(ResultSet row)throws SQLException
{
boolean moveRecords=row.next();
if(!moveRecords)
{
JOptionPane.showMessageDialog(this, "no record");
setTitle("no record show");
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("can't close db connection");
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 + -