【问题标题】:Failing jdbc INSERT INTO statement to MS Access database对 MS Access 数据库的 jdbc INSERT INTO 语句失败
【发布时间】:2011-02-16 16:03:20
【问题描述】:
statement.executeUpdate("INSERT INTO countrylookup (Country, DialCode) VALUES('Iran', '957')")

运行此语句在控制台中没有错误输出,但是当我检查数据库时没有更新/插入。这可能是什么原因?

对数据库本身的访问成功,使用SELECT * FROM countrylookup等语句取值成功。

我也尝试了preparedStatement 方法,结果完全相同。执行命令时文件未打开。

更新:Stacktrace:(瑞典语的第一行表示“INSERT INTO 表达式包含以下未知字段名:'Pa_RaM000'。请检查名称是否拼写正确,然后重试。)

Exception in thread "main" java.sql.SQLException: [Microsoft][Drivrutin f?r ODBC Microsoft Access] INSERT INTO-uttrycket inneh?ller f?ljande ok?nda f?ltnamn: 'Pa_RaM000'. Kontrollera att namnet ?r r?ttstavat och f?rs?k igen.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(Unknown Source)
at MDBAccessor.insertValueIntoField(MDBAccessor.java:43)
at TestRunner.main(TestRunner.java:28)

【问题讨论】:

    标签: sql ms-access jdbc


    【解决方案1】:

    拨号代码是数字吗?如果是这样,请从值中删除引号。

    VALUES('Iran', 957)
    

    【讨论】:

    • 这并没有什么不同。有没有办法调试这个?
    【解决方案2】:

    为了使 INSERT INTO 语句真正反映在数据库中,您必须调用 connection.commit(),然后调用 connection.close()。另一个类似的线程描述了这一点:Java General Error On Insert...???

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      相关资源
      最近更新 更多