Sql更新问题

时间:2011-12-30 13:15:13

标签: c# sql sql-server

我无法弄清楚为什么这不起作用?!

        protected void Submit_Click(object sender, EventArgs e)
    {
        Update();
    }

    public void Update()
    {
        try
        {
            using (SqlConnection conn =
                new SqlConnection(conStr))
            {
                conn.Open();
                using (SqlCommand cmd =
                    new SqlCommand("UPDATE DriverInfo SET FirstName=@NewFirstName, LastName=@NewLastName, Age=@NewAge, Country=@NewCountry, Town=@NewTown WHERE UserId=@Id", conn))
                {
                    cmd.Parameters.AddWithValue("@Id", currentUserId);
                    cmd.Parameters.AddWithValue("@NewFirstName", tbfirstname.Text);
                    cmd.Parameters.AddWithValue("@NewLastName", tblastname.Text);
                    cmd.Parameters.AddWithValue("@NewAge", tbage.Text);
                    cmd.Parameters.AddWithValue("@NewCountry", tbcountry.Text);
                    cmd.Parameters.AddWithValue("@NewTown", tbtown.Text);

                    int rows = cmd.ExecuteNonQuery();

                    //rows number of record got updated
                }
            }
        }
        catch (SqlException ex)
        {
            //Log exception
            //Display Error message
        }
    }

这应该是登录用户可以更改其设置的页面,应该在数据库中更新它们。

1 个答案:

答案 0 :(得分:2)

我从代码中看到的唯一一件事就是@Id可能没有设置正确或者不等于当前表中的任何现有Id。