我正在尝试使用按钮单击事件上的aspx页面更新SQL Server表的特定列 . 我的代码是:
if (AutoMan.Text == "Auto Mode")
{
var x = "1";
var y = DateTime.Now.ToString();
var z = "1";
using (SqlConnection con = new SqlConnection(@"Data Source=localhost.\SQLEXPRESS;Initial Catalog=MCAS;Integrated Security=SSPI;"))
{
con.Open();
try
{
using (SqlCommand cmd = new SqlCommand("UPDATE AutoManLog SET AutoMan = @data, Time = @data1", con))
{
cmd.Parameters.AddWithValue("@data1", y);
cmd.Parameters.AddWithValue("@data", x);
cmd.ExecuteNonQuery();
}
}
catch (Exception Ex)
{
Response.Write("Unable To Save Data. Error - " + Ex.Message);
}
con.Close();
}
数据库中的数据未更新 . 我看不到任何错误消息 .
2 回答
在此查询中:"UPDATE AutoManLog SET AutoMan = @data, Time = @data1"时间是sql server的保留名称;所以使用它作为 [Time] 将解决问题,如果没有其他问题存在 .
我复制粘贴你的代码,它可以正常工作;你的参数是正确的,你的陈述是正确的 .
您可能遇到的问题是:
AutoMan.Text
不等于"Auto Man"
- 确保它们是平等的发生任何错误(数据库连接,表不存在等),但有些东西阻碍了
Response.Write
输出,没有让你能看到输出 - 取出try-catch,让调试器捕获错误所以你可以更好地追踪它