【问题标题】:ResultSet Data of every row store in other array indexResultSet 其他数组索引中每行存储的数据
【发布时间】:2014-02-03 12:29:44
【问题描述】:

我是 JAVA 新手,请理解我的问题,并请给出您宝贵而准确的答案。

如何将结果集数据存储在另一个数组中?我应该使用 ArrayList 等吗?我的代码只是举例。

Statement stmt = null;
ResultSet query_rs;
String query = "SELECT * FROM my_table";
query_rs = stmt.executeQuery(query);
int counter_rs = 0;
ArrayList my_arr = new ArrayList();
while(query_rs.next())
{
  //here I want to add one row data in array index
  counter_rs++;  
  my_arr[counter_rs] = query_rs;  //Store row data in particular array index
}

System.out.println(my_arr.toString()); //Show all data

附:我的主线是my_arr[counter_rs] = query_rs;。提前致谢

【问题讨论】:

  • “请理解我的问题” - 没问题。
  • 真的不清楚你的问题是什么。您的代码当前有效吗?如果不是,错误是什么?如果是这样,问题究竟是什么?
  • 你为什么不在这里获得NPE query_rs = stmt.executeQuery(query);?
  • 你有什么问题?

标签: java resultset


【解决方案1】:

my_arr 是 arraylist 如果你想添加任何元素 my_arr.add(anyElement) 或者如果你想在特定位置设置任何元素使用这个 set(int index, E element)

my_arr.set(0,anyElement);


Statement stmt = null;
ResultSet query_rs;
String query = "SELECT * FROM my_table";
query_rs = stmt.executeQuery(query);
int counter_rs = 0;
ArrayList my_arr = new ArrayList();
while(query_rs.next())
{
  //here I want to add one row data in array index    
  my_arr.set(counter_rs,query_rs); //use this
  // or
  //  my_arr.add(query_rs);
  counter_rs++; 

}

//System.out.println(my_arr.toString()); //Show all data
// use for loop to get all data

【讨论】:

  • 如何显示或打印 my_arr 拥有的内容?如果我使用这个 System.out.println(my_arr); ...它显示“[com.mysql.jdbc.JDBC4ResultSet@6ddbe530, com.mysql.jdbc.JDBC4ResultSet@6ddbe530”..你还有其他选择吗?
  • 你可以通过while循环获取值,这是一个非常简单的例子click herers.getString(1);其中getString是从数据库中获取字符串列的方法,1(这是参数)是列位置假设您的数据库有 2 个名为 id 和 name 的列,那么我们将使用 rs.getString(1); 和 rs.getString(2); 1=id 和 2=name 您还可以传递写入的列实际名称DB 像这样rs.getInt("id"); 和 rs.getString("name");
【解决方案2】:

my_arr 是 ArrayList 不是数组

ArrayList my_arr = new ArrayList();

使用my_arr.add() 而不是my_arr[counter_rs] = query_rs;

【讨论】:

  • 当我打印这个时。它显示为“[[Ljava.lang.Object;@50cedf4e, [Ljava.lang.Object;@3da6a354, [Ljava.lang.Object;@72cff6b, [Ljava.lang”
  • @GoogleUser 不要让它成为 toString 只是使用 System.out.println(my_arr);
【解决方案3】:

如果我理解您的问题,那么我认为您需要执行以下操作:

首先声明一个带有 RowType 的 arrayList >

ArrayList<DataRow> my_arr = new ArrayList<DataRow>(); // DataRow should hold the columns data.

第二个:将每个提取的行添加到列表中。

while(query_rs.next())
{
   DataRow row = // fill the row from the ResultSet
   my_arr.add(row);
}

第三个:遍历列表并打印数据;

【讨论】:

    猜你喜欢
    • 2014-11-28
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-05
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多