C# SQL update在使用C的asp.net中不起作用#

C# SQL update在使用C的asp.net中不起作用#,c#,sql,asp.net,database,C#,Sql,Asp.net,Database,我想更新表的单元格,但当我通过编写此代码来更新时,表没有得到更新,也没有任何异常或错误: protected void btn_Click(object sender, EventArgs e) { using(SqlConnection con = new SqlConnection("My connection string")) { SqlCommand command = new SqlCommand("UPDATE [Tablename] SET [no

我想更新表的单元格,但当我通过编写此代码来更新时,表没有得到更新,也没有任何异常或错误:

protected void btn_Click(object sender, EventArgs e)
{
    using(SqlConnection con = new SqlConnection("My connection string"))
    {
        SqlCommand command = new SqlCommand("UPDATE [Tablename] SET [notes]=@notes WHERE [ID]=@ID", con);
        command.Parameters.AddWithValue("@ID", this.ID);
        command.Parameters.AddWithValue("@notes", TextBox1.Text);

        con.Open();
        command.ExecuteNonQuery();
        con.Close();
    }
}
当我自己传递“@notes”的值时,它工作,但当传递“@notes”TextBox1.Text的值时,它不工作。有人能解释一下为什么吗

注意:TextBox1.TextMode是多行的

我建议将“notes”TextBox1保存为字符串。如果它是多行的,则使用类似String.Join的内容,然后将字符串作为参数传递;)它会起作用的


顺便说一句。。无需使用SqlConnection关闭连接,因为它将自行处理!;)

谢谢大家。这是我的错,我试着按照@Tony Hopkinson在评论中说的去做,我得到了1的值(这意味着一切都很顺利)。问题出在Page_Load函数中,我已将其更改为:

protected void Page_Load(object sender, EventArgs e)
{
    TextBox1.Text = info;
}
对此,一切都起了作用:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        TextBox1.Text = info;
    }  
}

然后我检查了更新值的表。再一次感谢大家……)

文本框1.Text的值是多少?使用
con.Close()
是多余的。TextBox1的值。文本是任何类型的文本,如“hello world等”。通常的原因是ID有问题。PS con.close是不必要的。或者有时,您认为连接到的数据库不是您连接到的数据库。无错误=ID不存在,或者笔记没有更改。就这样。int rowsAffected=command.ExecuteNonQuery()可能会告诉您一些事情。我很乐意为您提供帮助!;)谢谢你的+1