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. boot2docker無法啟動2. android - 微信的安裝包在只編譯了armeabi,沒有armeabi-v7a,arm64-v8a,x86是如何運行在各種處理器的手機上的?3. angular.js - 百度爬蟲如何處理“#”符號?4. 如何解決docker宿主機無法訪問容器中的服務?5. javascript 開發百度地圖6. 網頁爬蟲 - 為什么python模擬登陸 appannie一直返回503 code7. javascript - 如何用最快的速度C#或Python開發一個桌面應用程序來訪問我的網站?8. python - 如何用pandas處理分鐘數據變成小時線?9. Python新手問題——大txt文件按條件將多行合并10. python - 為什么match匹配出來的結果是<_sre.SRE_Match object; span=(0, 54), match=’’>
