JDBC访问更新查询

时间:2012-04-23 09:31:02

标签: ms-access jdbc ms-access-2007

我有jdbc和Access的更新查询问题。数据库名称是'avi',它里面有一个名为'part1'的表。 Table

代码:

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);

我在查询中出错了吗?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

替换上述声明

statement.executeUpdate(queryTemp);

statement.executeQuery(queryTemp); 

“executeQuery()”用于ddl statemets,当“executeUpdate()”用于dml语句时,例如insert,update与行操作相关!!!!!!!!