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类型,请仔细检查各列(它们都是相同的名称),将列名中的引号引起来(相同的结果)不会成功。要添加它,错误消息不是很有帮助。
任何建议,将不胜感激。
相关文章:
1. macos - mac下docker如何设置代理2. angular.js - ng-grid 和tabset一起用时,grid width默认特别小3. apache - 本地搭建wordpress权限问题4. 热切期待朱老师的回复,网页视频在线播放器插件配置错误5. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????6. java - Spring Mvc全局异常处理器@ControllerAdvice不起作用?7. Whitelabel错误页面发生意外错误(类型=未找到,状态= 404)/WEB-INF/views/home.jsp8. javascript - web网页版app返回上一页按钮在ios设备失效怎么办?安卓上可以,代码如下,请大神帮助,万分感谢。9. Android下,rxJava+retrofit 并发上传文件和串行上传文件的效率为什么差不多?10. css3 - transition属性当鼠标一开的时候设置的时间不起作用
