我試圖使用以下方式更新訪問數據庫;ExecuteNonQuery不更新Access數據庫
if(count > 0)
{
sqlQuery = "UPDATE facial_user SET facial_1=? WHERE username=?;";
using (OleDbCommand com2 = new OleDbCommand(sqlQuery, dbConnection))
{
sqlCommand.Parameters.AddWithValue("@facial_1", engine.imageToBase64String(new Bitmap(pictureBox.Image, new Size(pictureBox.Width/10, pictureBox.Height/10))));
sqlCommand.Parameters.AddWithValue("@username", userTextBox.Text);
sqlCommand.ExecuteNonQuery();
}
}
else
{
sqlQuery = "INSERT INTO facial_user(id, username, facial_1) VALUES(@id, @username, @facial_1);";
using (OleDbCommand com2 = new OleDbCommand(sqlQuery, dbConnection))
{
sqlCommand.Parameters.AddWithValue("@id", (dataSet.Tables[0].Rows.Count + 1).ToString());
sqlCommand.Parameters.AddWithValue("@username", userTextBox.Text);
sqlCommand.Parameters.AddWithValue("@facial_1", engine.imageToBase64String(new Bitmap(pictureBox.Image, new Size(pictureBox.Width, pictureBox.Height))));
sqlCommand.ExecuteNonQuery();
}
}
我能夠輸入兩個條件沒有問題,並退出它們沒有錯誤。但是,在關閉dbconnection後,我的數據庫文件沒有反映出這些更改。
請指教。
您是否檢查過您嘗試更新的表中存在的用戶名? – Venkatesh
如果您確定'Update'塊被執行,唯一的問題可能是'UserName'與您的參數不匹配。 – BendEg
允許我詳細說明我的問題,我首先必須讀取db並檢查是否存在記錄。如果是,則計數> 0,並用更新更新該特定記錄,否則計數= 0並插入新記錄。我的程序能夠確定哪些條件運行,所以我很確定我正在正確讀取我的數據庫。我只是不明白爲什麼我不能做出改變。 :( – jazy1992