0
下面的代碼工作,我得到消息框說產品已更新,但沒有更改數據庫中。C#executenonquery不更新數據庫
這是從另一個在同一數據庫中工作的方法複製並粘貼的,並且該方法正常工作。
private void btnProductSave_Click(object sender, EventArgs e)
{
if (txtProductName.Text != "")
{
var confirmResult = MessageBox.Show("Are you sure you want to save changes to this product?", "Confirm Save", MessageBoxButtons.YesNo);
if (confirmResult == DialogResult.Yes)
{
SqlConnection con = null;
con = new SqlConnection(ConfigurationManager.ConnectionStrings["PVAdmin.Properties.Settings.PricerConnectionString"].ConnectionString);
string sql2 = "UPDATE Products SET productName = @productName WHERE productID = @productID";
SqlCommand myCommand2 = new SqlCommand(sql2, con);
myCommand2.Parameters.AddWithValue("@productName", txtProductName.Text);
myCommand2.Parameters.AddWithValue("@productID", lblProductID.Text);
con.Open();
myCommand2.ExecuteNonQuery();
con.Close();
MessageBox.Show("Product saved.");
this.LoadProduct((int)cboProductSelect.SelectedValue);
}
else
{
MessageBox.Show("No changes were saved.");
}
}
}
我正在使用Sql Server。我試過這個,但結果是一樣的。這讓我瘋狂,因爲它在另一種方法中工作正常,只是不是這個。 – Katp00p 2014-08-30 19:51:03
@ Katp00p,嘗試添加一個int RowsUpdated = cmd.executenonquery ...然後messagebox rowsUpdated的值。它是否會像預期的那樣返回,或是零記錄。 – DRapp 2014-08-30 19:53:57
我想出了問題......與查詢無關,它是存儲在lblProductID中的值。感謝您的幫助,我會刪除這個問題,以免它將來會讓人們感到困惑。 – Katp00p 2014-08-30 19:56:10