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 ステートメントに使用され、「executeUpdate()」は、行操作に関連する挿入、更新などの dml ステートメントに使用されます!!!!!!!!

于 2013-04-08T18:53:54.667 に答える