今天使用JDBC-ODBC橋接來操作Access數據庫,發現了一個問題:insert語句從語法上說完全沒問題,但是就是沒法插入數據庫。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:odbc:jdbc_odbc"); Statement st = conn.createStatement(); String insert = "insert into person (name,money) values ('kaka',100)"; System.out.println(st.executeUpdate(insert)); st.close(); conn.close();
?表的字段只有三個,如下圖:
然后我運行上面的代碼,控制臺總是提示:[Microsoft][ODBC Microsoft Access 驅動程序] INSERT INTO 語句的語法錯誤。
我看了又看總覺得沒問題呀,后來去網上找了一會兒答案,發現access有很多關鍵字,字段“money”就是其一,我在執行insert的時候money被當做關鍵字使用了,所以出錯了。
?
最終解決方案:修改person表的字段‘money’為其它名字,比如‘moneys’,最后運行代碼即可執行新增操作。
?
注:在運行中,你可能會遇到這樣的錯誤提示:
[Microsoft][ODBC Microsoft Access ?????] INSERT INTO ??????????
?這是字符編碼的問題,我默認使用UTF-8,把文件改GBK即可解決。
[Microsoft][ODBC Microsoft Access 驅動程序] INSERT INTO 語句的語法錯誤的可能原因
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
