Tôi gặp lỗi khi cố gắng chèn một số hàng vào một db. vì vậy đây là mãjava.sql.SQLException: ORA-00928: thiếu từ khóa SELECT. khi chèn bản ghi vào DB bằng cách sử dụng JDBC
try {
String insertStmt = "INSERT into " +
"MY_TABLE('RECORD_TYPE', 'FILE_TYPE', 'DATE', 'BATCH_NO', 'RECORD_COUNT')" +
"VALUES(?, ?, ?, ?, ?);";
PreparedStatement pstmt = super.con.prepareStatement(insertStmt);
pstmt.setString(1, input[0]);
pstmt.setString(2, input[1]);
pstmt.setString(3, input[2]);
pstmt.setString(4, input[3]);
pstmt.setString(5, input[4]);
System.out.println("Insert rows : " + pstmt.executeUpdate());
} catch (SQLException sqle) {
System.out.println(sqle.getMessage());
sqle.printStackTrace();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
con.close();
}
và tất cả mọi thứ trên db là kiểu varchar, hai lần kiểm tra các cột (tất cả họ đều cùng tên), lấy ra các dấu ngoặc kép tắt tên cột (giống kết quả) không thành công. để thêm nó lên, thông báo lỗi không phải là rất hữu ích.
mọi đề xuất sẽ được đánh giá cao.
Cố gắng mà không có dấu ngoặc kép (nên dấu ngoặc kép nếu có), nếu không có sự chấm phẩy dấu, và với một không gian trước khi 'values'. – Thilo
Không có khoảng cách giữa RECORD_COUNT) và VALUES (.. do đó lệnh chèn của bạn trông giống như 'INSERT thành MY_TABLE (......) VALUES (????) ' – Kal
Tôi nghĩ bạn sẽ luôn cần phải sử dụng (vì lý do tại sao bạn không nên sử dụng nó như một tên cột. Và cộng thêm, tại sao nó được lưu trữ như một chuỗi?) –