jdbcドライバからこのエラーがあります。私はなぜ、thoを知らない。Java - 「フィールドリスト」の列が不明ですjdbcエラー
がここに対応するコードです:
try {
String colNames = " ";
for (int i=0; i<cols.size(); i++) {
if (i == cols.size()-1) {
colNames += cols.get(i);
} else if (i<cols.size()) {
colNames += cols.get(i)+", ";
}
}
String colValues = " ";
for (int i=0; i<values.size(); i++) {
if (i == values.size()-1) {
colValues += values.get(i);
} else if (i<values.size()) {
colValues += values.get(i) + ", ";
}
}
System.out.println(
"INSERT INTO `" + tableName + "` (" + colNames + ") VALUES (" + colValues + ") "
);
//System.out.println(kerdojel);
PreparedStatement pst = connHandler.conn.prepareStatement
("INSERT INTO `" + tableName + "` (" + colNames + ") VALUES (" + colValues + ") ");
pst.executeUpdate();
pst.close();
}
「値」と「colsの」JTableのからのデータが含まれているのArrayListです。 colsは列の名前で、値はセルの値です。
SYSOUT用出力:
INSERT INTO `TableOne` (nev, kor, lakhely) VALUES (asd, 1, asd)
エラー:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'asd' in 'field list'
値のために単一の反転したカンマを使用してください。ちなみに 'setString()'などのメソッドを使用して値を設定してください – silentprogrammer
ありがとう、しかし、私はまだエラーがあります。 – david20002062
クエリの出力とエラー – silentprogrammer