Java 版 (精华区)
发信人: crack (阿力), 信区: Java
标 题: 使用JTable显示数据库中的数据
发信站: 哈工大紫丁香 (2002年11月16日16:57:25 星期六), 站内信件
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.sql.*;
import java.util.*;
public class DisplayData extends JFrame
{
//数据库变量定义
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;
//GUI变量定义
private JTable table;
private MyTableModel model;
private JTextField sqlField = new JTextField(20);
private JButton btnQuery = new JButton("查询");
public DisplayData()
{
//Form的标题
super( "数据浏览" );
//url中指定ODBC中设置的DSN名称
String url = "jdbc:odbc:app";
String username = "";
String password = "";
//加载驱动程序以连接数据库
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
connection = DriverManager.getConnection(url, "chen",
"12345");
}
catch ( ClassNotFoundException cnfex )
{ //捕获加载驱动程序异常
System.err.println( "装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
catch ( SQLException sqlex )
{ //捕获连接数据库异常
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
//如果数据库连接成功,则建立GUI //SQL语句
String test="SELECT * FROM usertable";
btnQuery.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
String sqltext = sqlField.getText().trim();
((MyTableModel)table.getModel()).setData(connection,sqltext);
((MyTableModel)table.getModel()).fireTableStructureChanged();
}
});
initGUI();
model = new MyTableModel(connection,test);
table.setModel(model);
setSize(400,300);
setVisible(true);
}
private void initGUI()
{
Container cont = getContentPane();
cont.setLayout(new BorderLayout());
JPanel top = new JPanel();
top.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
top.add(sqlField);
top.add(btnQuery);
top.setBorder(BorderFactory.createEtchedBorder());
cont.add(top,BorderLayout.NORTH);
table=new JTable();
//table.setModel(new MyTable());
cont.add(new JScrollPane(table));
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new DisplayData();
}
}//end class
--
十里平湖霜满天,
寸寸青丝愁华年
对月形单望相护
只羡鸳鸯不羡仙
花若多情也早凋零。人若痴情憔悴憔悴,人在天涯何妨憔悴
,酒入金樽何妨觉醉,醉眼看别人成双成对,也胜无人得暗弹相思泪。
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.85]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.530毫秒