2013-03-20 73 views
-2

我可以知道這個sql語句中的錯誤是什麼,我使用這種方法從我的客戶端添加一個計劃。即時通訊使用RMI技術Java INSERT語法錯誤

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. 
+0

路徑中有「字符串數據庫」是我的數據庫位於 – 2013-03-20 16:34:59

+4

我相信沒有一個更詳細的錯誤信息的路徑? – SirPentor 2013-03-20 16:35:58

+0

您正在使用哪個Access版本? – m0skit0 2013-03-20 16:37:46

回答

0

它是因爲Time is reserved keyword

不要使用時間或從這是常見的,其作爲表開發商屬性,它爲什麼他們得到錯誤Syntax error in INSERT INTO statement

在你的情況,從而代替Time作爲表的屬性使用任何其他名稱。

看到這個Document which are Reserved Keywords.

+0

問題是關於Microsoft Access,而不是SQL Server。 – rgettman 2013-03-20 16:45:12

+0

@rgettman我剛剛舉了一個例子。它幾乎適用於所有數據庫 – 2013-03-20 16:47:27