【发布时间】:2014-06-04 09:25:17
【问题描述】:
我已经从 C# 迁移到 java,所以我是 java 技术的新手。
我正在尝试使用 DefaultTableModel 将数据从 SQLSERVER 填充到 jTable。代码在这里。
public class mainScreen extends javax.swing.JFrame {
public mainScreen() {
initComponents();
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=Northwind;user=im;password=123;";
Connection con = DriverManager.getConnection(connectionUrl);
Statement stmt = null;
ResultSet rs = null;
// SQL query command
String SQL = "SELECT * FROM Products";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
ResultSetMetaData mtd=rs.getMetaData();
int columns=mtd.getColumnCount();
Vector columnName=new Vector();
Vector DataRows=new Vector();
DefaultTableModel dtm=new DefaultTableModel();
for(int i=1; i<columns; i++)
{
columnName.addElement(mtd.getColumnName(i));
}
dtm.setColumnIdentifiers(columnName);
while (rs.next()) {
for(int j=1; j<columns; j++){
DataRows.addElement(rs.getString(j));
//System.out.println(rs.getString(j));
}
}
Enumeration e= DataRows.elements();
while(e.hasMoreElements())
{
System.out.println(e.nextElement());
}
dtm.addRow(DataRows);
myTable.setModel(dtm);
dtm.fireTableDataChanged();
} catch (SQLException e) {
System.out.println("SQL Exception: "+ e.toString());
} catch (ClassNotFoundException cE) {
System.out.println("Class Not Found Exception: "+ cE.toString());
}
}
问题是这只显示第一行。任何人都可以指导我吗?
【问题讨论】: