2011-02-16 82 views
0
statement.executeUpdate("INSERT INTO countrylookup (Country, DialCode) VALUES('Iran', '957')") 

运行这个说法让我在控制台中没有错误输出,但是当我检查数据库没有更新/插入而成。这可能是什么原因?失败JDBC INSERT INTO语句MS Access数据库

对数据库本身的访问成功,并且使用诸如SELECT * FROM countrylookup之类的语句获取值成功。

我尝试preparedStatement方法以及完全相同的结果。执行命令时该文件未打开。

UPDATE:堆栈跟踪:(瑞典手段“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) 

回答

0

为了使INSERT INTO语句,它实际反映在你要调用随后的Connection.close connection.commit()数据库() 。另一个类似的线程描述这个:Java General Error On Insert...???

1

是dialcode数字?如果是这样,从值删除引号。

VALUES('Iran', 957) 
+0

这没有什么区别。有没有一种方法来调试呢? – 2011-02-17 07:59:01