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