java.sql.SQLException:ORA-00928:缺少SELECT關(guān)鍵字。使用JDBC將記錄插入數(shù)據(jù)庫時(shí)
我可以發(fā)現(xiàn)兩個(gè)問題:
不需要在列名周圍使用單引號(hào)。但是您可以將其用雙引號(hào)引起來。如果對(duì)列名或表名使用保留關(guān)鍵字,則很有必要。在這里DATE。您需要一個(gè)空格VALUES。因此,您需要更改insertStmt為以下內(nèi)容:
String insertStmt = 'INSERT into ' + 'MY_TABLE(RECORD_TYPE, FILE_TYPE, 'DATE', BATCH_NO, RECORD_COUNT) ' + 'VALUES(?, ?, ?, ?, ?);';解決方法
當(dāng)我嘗試向數(shù)據(jù)庫中插入一些行時(shí)出現(xiàn)錯(cuò)誤。所以這是代碼
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();}
并且數(shù)據(jù)庫上的所有內(nèi)容均為varchar類型,請(qǐng)仔細(xì)檢查各列(它們都是相同的名稱),將列名中的引號(hào)引起來(相同的結(jié)果)不會(huì)成功。要添加它,錯(cuò)誤消息不是很有幫助。
任何建議,將不勝感激。
相關(guān)文章:
1. IOS app應(yīng)用軟件的id號(hào)怎么查詢?比如百度貼吧的app-id=4779278132. spring-mvc - spring-session-redis HttpSessionListener失效3. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!4. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?5. javascript - 最近用echarts做統(tǒng)計(jì)圖時(shí)遇到兩個(gè)問題!!6. mysql - 查詢 修改數(shù)據(jù)庫優(yōu)化問題吧7. javascript - input 是不是不能同時(shí)用:value和v-model8. 淺談Vue使用Cascader級(jí)聯(lián)選擇器數(shù)據(jù)回顯中的坑9. javascript - 引入 simditor,但是顯示標(biāo)簽,這個(gè)怎么解決。10. javascript - node得到req不能得到boolean

網(wǎng)公網(wǎng)安備