【发布时间】:2014-01-10 01:42:50
【问题描述】:
我编写程序从数据库中检索数据以显示在JTable 上。该程序可以在没有错误的情况下运行,但它不显示列名。代码如下:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection dbcon = DriverManager.getConnection("" +"jdbc:sqlserver://localhost;databaseName=Store;user=sa;password=t81iS17Zxj");
Statement sqlstatement = dbcon.createStatement();
ResultSet dbresultset = sqlstatement.executeQuery("select * from Store.dbo.Product");
rsmetadata = dbresultset.getMetaData(); // Get metadata on them
numcols = rsmetadata.getColumnCount(); // How many columns?
// Get column names
for (int i = 1; i <= numcols; i++)
{
defaultmodel.addColumn( rsmetadata.getColumnName(i));
}
// Get row data
while (dbresultset.next())
{
Vector<Object> row = new Vector<Object>(numcols);
for (int i = 1; i <= numcols; i++)
{
row.addElement( dbresultset.getObject(i) );
}
defaultmodel.addRow(row );
}
我尝试将rsmetadata.getColumnName(i) 的值打印出来,然后Eclipse 显示列名,但为什么在上面没有显示。
【问题讨论】:
-
你如何显示你的 JTable?您将其存储在哪种组件中?