我是SWT的新手,我需要使用它的表格小部件。我想将查询发送到我的数据库并创建一个表。 setText()
函数只接受一个新的字符串数组或一个字符串,我应该怎么做才能显示我的行,尽管列数。这是我的代码:
try{
ResultSet getTable=dbconnect.connect.createStatement().executeQuery("select * from Status");
ResultSetMetaData md = getTable.getMetaData();
int columns = md.getColumnCount();
for (int i = 1; i <= columns; i++) {
tblclmnNewColumn = new TableColumn(table, SWT.NONE);
tblclmnNewColumn.setWidth(100);
tblclmnNewColumn.setText(md.getColumnName(i));
columnNames.add( md.getColumnName(i));
}
for(int i=0;i<columnNames.size();i++){
String set;
if(i==columnNames.size()-1){
set="getTable.getString"+"("+'"'+columnNames.get(i)+'"'+")";
}else{
set="getTable.getString"+"("+'"'+columnNames.get(i)+'"'+")"+",";
}
columsresultset.add(set);
element[i]=columsresultset.get(i);
System.out.println(columsresultset.get(i));
}
String elements[]=new String[columsresultset.size()];
while (getTable.next()) {
TableItem tableItem =(TableItem) new TableItem(table, SWT.NONE);
tableItem.setText(elements);
}
答案 0 :(得分:1)
如何使用setText(yourDatabaseColumnIndex - 1, yourDatabaseColumnValue)
。当然,您必须创建TableColumn
,就像在代码中一样。例如:
while(resultSet.next())
{
TableItem tableItem = new TableItem(table, SWT.NONE);
for(int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++)
{
tableItem.setText(i-1, resultSet.getString(i));
}
}
不保证我没有错过任何;
或{
或;-)
。您还可以通过将列计数写入变量来优化这一点。