单击按钮更新SQL Server

时间:2014-05-13 11:30:22

标签: c# asp.net sql-server

我正在尝试使用按钮单击事件上的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 个答案:

答案 0 :(得分:0)

在此查询中: " UPDATE AutoManLog SET AutoMan = @data,Time = @ data1" 时间是sql server的保留名称;所以使用它作为 [时间] 将解决问题, 如果没有其他问题。

答案 1 :(得分:0)

我复制粘贴你的代码,它的工作原理就是这样;你的参数是正确的,你的陈述是正确的。

您可能遇到的问题是:

  • AutoMan.Text不等于"Auto Man" - 确保它们相等
  • 发生任何错误(数据库连接,表格不存在等),但有些东西阻碍了您的Response.Write输出,而不是让您能够看到输出 - 取出try-catch ,让调试器捕获错误,以便您可以更好地跟踪它