0

我有 jdbc 和 Access 的更新查询问题。数据库名称是“avi”,里面有一个名为“part1”的表。!桌子

编码:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:avi");
Statement statement = con.createStatement( );
String queryTemp="UPDATE part1 SET level=5 where qid=1";
statement.executeQuery(queryTemp);

该表确实有一个 qid=1 的条目。这是控制台错误:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in
 UPDATE statement.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:2

53) 在 Conn.updt(Conn.java:47)

第 47 行是 statement.executeQuery(queryTemp);

我在查询中出错了吗?

4

2 回答 2

2

您需要为保留字添加方括号:

[level]

http://office.microsoft.com/en-us/access-help/sql-reserved-words-HP001032249.aspx

于 2012-04-23T09:46:39.307 回答
0

替换上面的语句

statement.executeUpdate(queryTemp);

statement.executeQuery(queryTemp); 

"executeQuery()" 用于 ddl statemets ,而 "executeUpdate()" 用于 dml 语句,如 insert,update 与行操作相关!!!!!!!!!

于 2013-04-08T18:53:54.667 回答