我正在尝试使用以下内容更新访问数据库;
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后,我的数据库文件没有反映更改。
请告知。
答案 0 :(得分:0)
如果INSERT
语句有效且UPDATE
语句不起作用,唯一可能的解决方案是给定username
没有条目。因此,如果WHERE
条件与用户名不匹配,则不会更新任何内容。