0
HashMap
の値をすべて挿入するINSERT文を作成する前に、ArrayList
のあるデータベースの列とHashMap
のあるデータベースの列を比較しようとしています。このキーは、列がデータベース内にある場合にのみINSERTステートメントの一部です。問題は、最初のキーがINSERTステートメントに2回入力されて実行が失敗することです。私はここでINSERT文を提供していませんし、Imが値を取得する方法は問題ではありません。列名を識別する文字列を作成する方法です。ネストされたループでJavaで最初のエントリを2回追加する
ここにコードがあります。
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+",";
}
}
}
を挿入します'che'の時に、' prep'にキーを数回挿入します。 – Guillaume
Aha。絶対的に正しい。私は、同じ列名を持つ1対1の2つのテーブルからcheを追加していることに気づいていませんでした。今すぐ修正されました。 ?回答として投稿しますか? –