2016-07-30 75 views
0

我有一個Access數據庫,其中包含一個名爲用戶的表。該表有兩個字段,即短文類型的「用戶名」和短文類型的「用戶密碼」。用戶名是主鍵!「INSERT INTO STATEMENT」的錯誤在哪裏?

我做了一個Windows窗體應用程序,Visual C#,併成功地與數據庫連接。

我在第一次訪問這個SQL語句運行,

"INSERT INTO USER(USERNAME,USERPASSWORD) VALUES('Tom','1234')" 

正確追加記錄到表中。

現在,如果我嘗試通過WinForm應用程序執行相同的SQL查詢,我得到異常其中談到一個語法錯誤在「插入」語句

奇怪的事實是,我已經在一個星期前提出申請,它的工作。

這裏是應該追加記錄的方法:

public void insertNewUser() 
    { 
     String sqlQuery = "INSERT INTO USER(USERNAME,USERPASSWORD) VALUES('malmo','1234')"; 
     OleDbCommand cmd = new OleDbCommand(sqlQuery, this.conn); 
     int rowsAffected = 0; 
     try 
     { 
      rowsAffected = cmd.ExecuteNonQuery(); 
      System.Windows.Forms.MessageBox.Show("User inserted in database successfully!", "Debug:AppDatabase:insertNewUser"); 
     } 
     catch (System.InvalidOperationException ex) 
     { 
      System.Windows.Forms.MessageBox.Show("User did not inserted in database", "Debug:AppDatabase:insertNewUser"); 
      System.Windows.Forms.MessageBox.Show(ex.Message, "Debug:AppDatabase:insertNewUser"); 
     } 
     catch (System.Data.OleDb.OleDbException ex) 
     { 
      System.Windows.Forms.MessageBox.Show(ex.Message, "Debug:AppDatabase:insertNewUser"); 
     } 
     System.Windows.Forms.MessageBox.Show(rowsAffected.ToString(), "RowsAffected"); 
    } 

我得到的第二個catch塊異常!

+6

'USER'是一個關鍵字。改爲使用'[USER]'。 –

+0

用戶也是一個關鍵字?真的嗎? – Skemelio

+0

看一看本頁:[保留關鍵字(Transact-SQL)](https://msdn.microsoft.com/en-us/library/ms189822.aspx) –

回答

1

USER是關鍵字。請改用[USER]。 - Reza Aghaei