【发布时间】:2013-09-09 14:43:19
【问题描述】:
我正在尝试更新数据库中同一行的列值。
这是我的代码:
if (ModelState.IsValid)
{
using (SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
{
SqlCommand cmd = new SqlCommand();
cmd = cn.CreateCommand();
cmd.CommandText = @"Update Content Set Des='@Des', Sc='@Sc' Where ID_Img=@Id_Img";
cmd.Parameters.Add("@Des", SqlDbType.VarChar);
cmd.Parameters["@Des"].Value = model.Des;
cmd.Parameters.Add("@Sc", SqlDbType.VarChar);
cmd.Parameters["@Sc"].Value = model.Sc;
cmd.Parameters.Add("@Id_Img", SqlDbType.Int);
cmd.Parameters["@Id_Img"].Value = model.Id_Img;
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
}
}
代码有效,我没有收到任何错误,但是当我检查我的数据库时,插入的值是 @Desc 和 @Sc 而不是正确地来自我视图中的表单的值。
我已经设置了一个断点并检查变量中的哪些值都正确..
我做错了什么?
有人可以帮帮我吗?
【问题讨论】:
-
您如何确定您没有收到任何错误?在
cmd.ExecuteNonQuery();之后,您没有执行任何错误捕获/处理将该代码包装在try{}catch{}周围,您还调试了代码以确保将预期值传递给这两个参数..? -
尝试不带引号
Des=@Des, Sc=@Sc -
我确定.. 我检查了所有值
标签: c# mysql sql asp.net-mvc