java 中如何在JTABLE中显示连接数据库表

 

 

假设你的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

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值