我正在尝试使用按钮单击事件上的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();
}
数据库中的数据未更新。我看不到任何错误消息。
答案 0 :(得分:0)
在此查询中: " UPDATE AutoManLog SET AutoMan = @data,Time = @ data1" 时间是sql server的保留名称;所以使用它作为 [时间] 将解决问题, 如果没有其他问题。
答案 1 :(得分:0)
我复制粘贴你的代码,它的工作原理就是这样;你的参数是正确的,你的陈述是正确的。
您可能遇到的问题是:
AutoMan.Text
不等于"Auto Man"
- 确保它们相等Response.Write
输出,而不是让您能够看到输出 - 取出try-catch ,让调试器捕获错误,以便您可以更好地跟踪它