Asp.net 更新数据库sql server中的记录时出错
我有一个问题:我有一个页面用于向数据库中插入数据,还有一个页面用于根据每个项目的查询字符串更新数据,当我从textbox更新字段时,返回相同的数据进行更新:从page_load中的textbox更新数据库中的相同数据 在Asp.net 更新数据库sql server中的记录时出错,asp.net,sql-server,Asp.net,Sql Server,我有一个问题:我有一个页面用于向数据库中插入数据,还有一个页面用于根据每个项目的查询字符串更新数据,当我从textbox更新字段时,返回相同的数据进行更新:从page_load中的textbox更新数据库中的相同数据 在页面中加载 con.Open(); //For edit items if (Request.QueryString["id"] != null) { Page.Title = "Edit Items"; DataTable dt = Get_Items(Req
页面中加载
con.Open();
//For edit items
if (Request.QueryString["id"] != null)
{
Page.Title = "Edit Items";
DataTable dt = Get_Items(Request.QueryString["id"].ToString());
txt_item_name.Text = dt.Rows[0]["name"].ToString();
txt_end_date.Text = dt.Rows[0]["endDate"].ToString();
Btn_addItem.Text = "Edit item";
}
protected void Btn_addItem_Click(object sender, EventArgs e)
{
if (Btn_addItem.Text.Equals("Add Item"))
{
SqlCommand cmd = new SqlCommand("addedit", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@item_id", "-1");
cmd.Parameters.AddWithValue("@name", txt_item_name.Text);
cmd.Parameters.AddWithValue("@endDate", txt_end_date.Text);
con.Open();
cmd.ExecuteNonQuery();
lbl_msg.Text = "Item added....";
con.Close();
}
else
{
SqlCommand cmd = new SqlCommand("addedit", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@item_id", Request.QueryString["id"]);
cmd.Parameters.AddWithValue("@name", txt_item_name.Text);
cmd.Parameters.AddWithValue("@endDate", txt_end_date.Text);
con.Open();
cmd.ExecuteNonQuery();
lbl_msg.Text = "Item edited....";
con.Close();
}
}
如果我正确理解您的问题“您无法使用您在文本框中输入的新值更新数据库。它将再次使用旧值更新数据库”
你需要检查一下!在回发过程中,当Btn\u addItem\u单击之前,将调用从DB绑定文本框的代码,并将文本框的值设置回DB的旧值时,在页面中加载IsPostback。见以下更新代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
con.Open();
//For edit items
if (Request.QueryString["id"] != null)
{
Page.Title = "Edit Items";
DataTable dt = Get_Items(Request.QueryString["id"].ToString());
txt_item_name.Text = dt.Rows[0]["name"].ToString();
txt_end_date.Text = dt.Rows[0]["endDate"].ToString();
Btn_addItem.Text = "Edit item";
}
}
}
希望能有帮助 非常感谢亲爱的,我几个星期前就遇到了这个问题,现在已经100%正常工作了,我希望下次能对我有所帮助:)很高兴它能帮上忙。您应该阅读有关ASP.NET页面生命周期的内容,以便更好地了解其工作原理。请参阅下面的链接。永远记住使用!除非您有特殊情况,否则无论何时在页面加载中绑定控件,我都会返回。嗨,兄弟,你好。。。。请看问题所在