如何解决java.sql.SQLException:ORA-00928:缺少SELECT关键字使用JDBC将记录插入数据库时
我可以发现两个问题:
- 不需要在列名周围使用单引号。但是您可以将其用双引号引起来。如果对列名或表名使用保留关键字,则很有必要。在这里
DATE
。 - 您需要一个空格
VALUES
。
因此,您需要更改insertStmt
为以下内容:
String insertStmt = "INSERT into " +
"MY_TABLE(RECORD_TYPE, FILE_TYPE, \"DATE\", BATCH_NO, RECORD_COUNT) " +
"VALUES(?, ?, ?, ?, ?);";
解决方法
当我尝试向数据库中插入一些行时出现错误。所以这是代码
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();
}
并且数据库上的所有内容均为varchar类型,请仔细检查各列(它们都是相同的名称),将列名中的引号引起来(相同的结果)不会成功。要添加它,错误消息不是很有帮助。
任何建议,将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。