【发布时间】:2014-11-26 18:55:36
【问题描述】:
我想将一条记录更新到数据库中,但它只是不断恢复到其原始值。 下面是我的代码。我也没有显示任何错误。
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CandidateConnectionString"].ConnectionString);
conn.Open();
string updateData = "UPDATE Resume SET [Work_Experience] = @work_exp, [Educational_Level] = @edu_level, [Field_Of_Study] = @field_study, [University_Name] = @uni_name, [University_Location] = @uni_locate, [Graduation_Year] = @gra_year WHERE Cand_ID = (SELECT Cand_ID FROM Candidate WHERE Cand_Username = '"+ usernamelbl.Text +"')";
SqlCommand cmd = new SqlCommand(updateData, conn);
cmd.Parameters.AddWithValue("@work_exp", Work_Exp.Text);
cmd.Parameters.AddWithValue("@edu_level", Edu_Level.SelectedItem.Text);
cmd.Parameters.AddWithValue("@field_study", Field_Study.SelectedItem.Text);
cmd.Parameters.AddWithValue("@uni_name", Uni_Name.Text);
cmd.Parameters.AddWithValue("@uni_locate", Uni_Locate.Text);
cmd.Parameters.AddWithValue("@gra_year", Year.Text);
cmd.ExecuteNonQuery();
conn.Close();
代码有问题吗?
【问题讨论】:
-
如果您单步执行代码,您确定您的代码正在执行吗?另外,您确定 where 子句是正确的吗?如果直接对数据库执行此 SQL(而不是通过代码),它会产生什么影响?
-
你能在查询后放一个断点,看看 usernamelbl.text 是否给你值。请检查一次
-
@mason 我不确定我的代码是否正在执行,但
WHERE子句是正确的。我只是直接在数据库上执行,记录更新完美。 -
在代码中设置断点,然后逐行执行。是时候学习使用调试器了!如果您使用的是 Visual Studio,方向为 here。学习单步调试代码是成为一名成功的程序员必须学习的一项宝贵技能。
-
通过直接在 sql server 中执行来检查更新查询。
标签: c# asp.net .net sql-update