我在创建INSERT语句以插入所有ArrayList
值之前,尝试将HashMap
中的某些数据库列与HashMap
中的某些键进行比较。如果在数据库中找到该列,则键只是INSERT语句的一部分。问题是,第一个密钥被输入INSERT语句两次导致执行失败。我没有在这里提供INSERT语句或者我如何获取值不是问题,只是我如何创建标识列名的字符串。
这是代码。
ResultSet rs2 = st.executeQuery("SELECT * FROM BRAVODay1And2");
ResultSetMetaData rsmd2 = rs2.getMetaData();
ArrayList<String> che=new ArrayList<String>();
for (int i = 1; i <= rsmd2.getColumnCount(); i++) {
che.add(rsmd2.getColumnName(i).trim());
}
String prep="";
for (Entry<String, String> entry : mapWholeBRAVO.entrySet()) {
String key =entry.getKey().replace(":","");
for (String n:che){
if (n.equals(key)){
prep=prep+key+",";
}
}
}
答案 0 :(得分:1)
答案在我对该问题的第一次评论中:
如果在key
中多次出现che
,您将多次插入prep
密钥