-1
 protected void LinkButtonContacts_Click(object sender, EventArgs e)
    {
        string obj1 = TextBox6.Text.Trim();
        string obj2 = TextBox7.Text.Trim();
        string obj3 = TextBox8.Text.Trim();
        string queryUpdate = "Update User_Objectives SET Objective1= @Objective1 , Objective2=@Objective2 ,Objective3=@Objective3 WHERE Email='useremail'";
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=resume;Integrated Security=True";
        SqlCommand cmd = new SqlCommand(queryUpdate, con);
        cmd.Parameters.AddWithValue("@Objective1", TextBox6.Text);
        cmd.Parameters.AddWithValue("@Objective2", TextBox7.Text);
        cmd.Parameters.AddWithValue("@Objective3",TextBox8.Text );
        int added = 0;
        try
        {
            con.Open();
            added = cmd.ExecuteNonQuery();
            Label1.Text = added + "record inserted";
        }
        catch (Exception err)
        {
            Label1.Text = "error inserting record";
            Label1.Text = Label1.Text + err.Message;
        }
        finally
        {
            con.Close();
        }
4

1 回答 1

1

您的代码中有几件事:

  • 首先,您正在尝试Update记录,而不是INSERT.
  • 2nd 您正在根据useremail传入的 where 子句更新记录。您的变量added应该影响行数,但您的查询没有找到任何要根据搜索参数更新的记录。

目前在你的 where 子句中你有WHERE Email='useremail'. 您传递的是字符串文字,而是传递您希望在表中更新的电子邮件地址。您可以为此使用额外的 SqlParameter ,就像您使用其余参数一样。

于 2013-03-19T07:40:29.360 回答