2014-03-02 20 views
1

我想更新表格的單元格,但是當我通過編寫此代碼來完成時,表格不會更新,並且沒有任何異常或任何錯誤:SQL更新不能在asp.net中使用C#

protected void btn_Click(object sender, EventArgs e) 
{ 
    using(SqlConnection con = new SqlConnection("My connection string")) 
    { 
     SqlCommand command = new SqlCommand("UPDATE [Tablename] SET [notes][email protected] WHERE [ID][email protected]", 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是多行

+0

「TextBox1.Text」的值究竟是什麼?並且使用'con.Close()'是多餘的。 ['using'語句](http://msdn.microsoft.com/en-us/library/yh598w02.aspx)將處理該問題。 –

+0

TextBox1.Text的值是任何類型的文本,如「你好,世界等等」 –

+0

通常的原因是ID有問題。 PS con.close是不必要的。 –

回答

1

感謝大家。這是我的錯,我試着做了@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

我建議保存 「筆記」 textBox1的一個字符串。如果它是多行使用類似String.Join的東西,然後傳遞字符串作爲參數;)它會起作用!

順便說一下。不需要關閉與使用SqlConnection的連接,因爲它會自行處理! ;)

+0

+1爲答案... –

+0

我很高興幫助! ;)感謝+1 –