我的工作中,我必須使用更新查詢一個項目,但問題是成功執行該查詢後的數據沒有更新 這裏是我的代碼更新查詢執行成功但不更新數據
protected void Update_btn_Click(object sender, EventArgs e)
{
var aid = Convert.ToInt32(Session["Aid"].ToString());
try
{
var conn = ConfigurationManager.ConnectionStrings["AccountsConnectionString"].ConnectionString;
using (var con = new SqlConnection(conn))
{
con.Open();
string query = "Update Tasks set [email protected],[email protected] WHERE [email protected] and [email protected]";
var cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@tname", taskname_tb.Text);
cmd.Parameters.AddWithValue("@tdetails", Detail_ta.Text);
cmd.Parameters.AddWithValue("@id",Convert.ToInt32(id_tb.Text));
cmd.Parameters.AddWithValue("@aid",aid);
cmd.ExecuteNonQuery();
Response.RedirectPermanent("~/AllTasks.aspx",false);
}
}
catch (Exception exception)
{
Response.Write("<script>Some Error occured</script>");
}
}
嘗試參數不轉換爲int32
但相同的結果 也當在sql中運行查詢它工作正常。
表任務的架構
CREATE TABLE [dbo].[Tasks] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[TaskName] VARCHAR (500) NOT NULL,
[TaskDetails] VARCHAR (MAX) NOT NULL,
[CreationDate] DATETIME NOT NULL,
[CreatedBy] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Tasks_ToAccounts] FOREIGN KEY ([CreatedBy]) REFERENCES [dbo].[Accounts] ([Id])
);下面的查詢
你應該看看[我們可以停止使用AddWithValue()了嗎?](http://blogs.msmvps.com/jcoehoorn/blog/2014/ 05/12/can-we-stop-using-addwithvalue-already /)並停止使用'.AddWithValue()' - 它可能導致意想不到的和令人驚訝的結果... – 2014-09-05 18:56:57
我不知道有關AddWithValue的問題。這很好。但爲了以防萬一...桌子上的任何觸發器?當這種奇怪的行爲發生時,我總是會責怪觸發器。 – RThomas 2014-09-05 19:06:05
@marc_s甚至沒有像那樣工作'cmd.Parameters.Add(「@ tname」,SqlDbType.VarChar).Value = taskname_tb.Text;' – Mohsin 2014-09-05 19:08:44