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塊異常!
'USER'是一個關鍵字。改爲使用'[USER]'。 –
用戶也是一個關鍵字?真的嗎? – Skemelio
看一看本頁:[保留關鍵字(Transact-SQL)](https://msdn.microsoft.com/en-us/library/ms189822.aspx) –