【问题标题】:how to add ArrayList data to the same # in derby?如何在derby中将ArrayList数据添加到相同的#?
【发布时间】:2017-06-06 21:32:31
【问题描述】:

所以我有这个问题不知道如何解决它我想将诸如 [A,b,c,d,e,f] 之类的数组列表数据添加到看起来像这样的第一条记录

"#"|| ID  ||  numbers  || section

`1 ||  1  ||  Abcdef  ||   A1  

这是我的代码

Statement st = conn.createStatement();
String sql = "INSERT INTO LOCATION (ID,LETTERS,SECTION) "
        + "VALUES (?,?,?)";
System.out.println(ch.size());
try (PreparedStatement insert = conn.prepareStatement(sql)) {
        insert.setString(1, "1");
        insert.setString(3, "A1");
    for (int i = 0; i < ch.size(); i++) { 
         insert.setString(2, ch.get(i).toString());
         insert.executeUpdate();
    }
    st.close();
    conn.close();
}

【问题讨论】:

    标签: java database derby


    【解决方案1】:

    我觉得有两个问题

    • 您的代码执行更新 (insert.executeUpdate()) 的次数与您的 ch 数组列表大小一样
    • 您调用 setString 的次数与数组列表的长度一样多,但传递给它的是单个字符,而不是数组列表元素的串联

    你的那部分代码应该是:

       String arrayChars = "";
       for (int i = 0; i < ch.size(); i++) { 
             arrayChars += ch.get(i).toString(); // If youre using an array of strings theres no need to use .toString()
        }
        insert.setString(2, arrayChars);
        insert.executeUpdate();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2011-10-13
      • 1970-01-01
      相关资源
      最近更新 更多