Java插入语法错误
我可以知道这个sql语句中的错误是什么吗?我使用这个方法从我的客户机添加一个计划。Im使用RMI技术Java插入语法错误,java,ms-access,Java,Ms Access,我可以知道这个sql语句中的错误是什么吗?我使用这个方法从我的客户机添加一个计划。Im使用RMI技术 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String database = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+path+".accdb;"; dbConn = DriverManager.getConnectio
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.
如果没有详细的错误消息,我无法确定,但可能是因为
时间
是一个。它的原因是时间是保留关键字
不要使用时间或From,这是开发人员常用的表属性,这就是为什么他们在INSERT INTO语句中出现错误语法错误的原因
在您的情况下,请使用任何其他名称,而不是Time
作为表的属性
请参见此字符串数据库中的路径是我的数据库所在的路径。我假定没有更详细的错误消息?您使用的是哪个Access版本?我想时间的格式对于数据类型来说不太合适。问题是关于Microsoft Access,而不是SQL Server。@rgetman我刚才给出了一个示例。它几乎适用于所有数据库