2

我是 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);                         
}
4

1 回答 1

1

怎么用setText(yourDatabaseColumnIndex - 1, yourDatabaseColumnValue)。当然,您必须创建您TableColumn的 s ,就像您在代码中所做的那样。例子:

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));
    }
}

不能保证我没有错过任何;{或某事;-)。您也可以通过将列数写入变量来对此进行一些优化。

于 2013-08-02T09:46:44.503 回答