假设你的JTable名为 jTable
1, new 一个DefaultTableModel 假设名字取为 myTModel
2,jTable.setModel(myTModel);
3, 从数据库中读出column names 存在 String[] colNames;
(用ResultSetMetaData读)
3, myTModel.addColumn(colNames) 在表中添加列名
4,逐行读出表内容,存入一个Vector中 假设这个Vector名为 newRow
5,myTModel.addRow(newRow)
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.*;
public class tableTest extends JFrame {
public static void main( String args[] )
{
new tableTest();
}
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsmd;
private JButton submitQuery;
private JTable table;
public tableTest()
{
super( "输入SQL语句,按提交按钮查看结果。" );
Container c = getContentPane();
c.setLayout( new BorderLayout() );
String url = "jdbc:odbc:空军国防生";
String username = "";
String password = "";
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
connection = DriverManager.getConnection(
url, username, password );
}
catch ( ClassNotFoundException cnfex )
{
System.err.println("装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 );
}
catch ( SQLException sqlex )
{
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 );
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try
{
String query = "SELECT * FROM studentsmessage";
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
rsmd = resultSet.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
while ( resultSet.next() )
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
{
currentRow.addElement( resultSet.getString( i ) );
}
rows.addElement(currentRow);
}
}
catch ( SQLException sqlex )
{
sqlex.printStackTrace();
}
table = new JTable( rows, columnHeads );
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
try
{
for(int i = 0; i < rsmd.getColumnCount(); ++i )
{
TableColumn Col1 = table.getColumnModel().getColumn(i);
Col1.setPreferredWidth(100);
}
}
catch ( SQLException sqlex )
{
sqlex.printStackTra