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

📄 queryevent.java

📁 一个具有查询sql数据库功能的程序
💻 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 + -