-2

我可以知道这个 sql 语句中的错误是什么,我使用这个方法从我的客户端添加一个计划。我正在使用 RMI 技术

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String database = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+path+".accdb;";
        dbConn = DriverManager.getConnection(database, "", "");
        ps = dbConn.prepareStatement("INSERT into Schedule(Subject, Student, Instructor, Time, Days, Room) VALUES(?,?,?,?,?,?)");
        ps.setString(1, subject);
        ps.setString(2, student);
        ps.setString(3, instructor);
        ps.setString(4, time);
        ps.setString(5, days);
        ps.setString(6, room);
        ps.executeUpdate();

当我公开这个方法时总是会发生错误,这里是:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
4

2 回答 2

5

如果没有详细的错误消息,我无法确定,但这可能是因为它TimeSQL 中 Microsoft Access 的保留字

于 2013-03-20T16:40:36.567 回答
0

其原因在于Time is reserved keyword

不要使用Time 或 From这是常见的开发人员用作表属性的原因,他们为什么会出错Syntax error in INSERT INTO statement

在你的情况下,而不是Time作为表的属性使用任何其他名称。

请参阅本文档,它们是保留关键字。

于 2013-03-20T16:40:48.203 回答