使用JDBC在while循环中存储值

时间:2016-03-11 14:05:29

标签: java while-loop metadata teradata resultset

ResultSet rs = dbmd.getSchemas(); 
while(rs.next()) {  
    String DbNames = rs.getString("TABLE_SCHEM");
}

我试图存储DbNames的值并稍后再使用它。我尝试使用ArrayList

ResultSet rs = dbmd.getSchemas(); 
ArrayList<String> dbs = new ArrayList<>();
while(rs.next()) {
    dbs.add(rs.getString("TABLE_SCHEM"));
}
for(String[] s : dbs)
{
   System.out.println(Arrays.toString(s));
}

我是编程新手并使用StackOverflow资源来解决我的问题,但我仍然遇到问题。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

目前,您的ArrayList是 raw type ,因为您尚未为ArrayList指定数据类型。使用

将ArrayList声明更改为 generic type
ArrayList<String> dbs = new ArrayList<>();

这样,当您稍后尝试访问这些值时,它们将是String而不是Object

您的新代码将是

ResultSet rs = dbmd.getSchemas();
ArrayList<String> dbs = new ArrayList<>();
while(rs.next()) { 
    dbs.add(rs.getString("TABLE_SCHEM"));
}
for(String s : dbs) {
    System.out.println(s);
}

答案 1 :(得分:0)

创建ArrayList以保存从结果集中检索到的数据,如下所示:

ResultSet resultset = ;
ArrayList<String> arrayList = new ArrayList<String>(); 
while (resultset.next()) {            
    arrayList.add(resultset.getString('TABLE_SCHEM'));
}