2017-06-02 94 views
1

我有TextBox1的形式爲「NOTE」當我鍵入在TextBox1中,按插入按鈕上的文字是工作,但是當我從DB再次獲得該文本textBox1的,並嘗試刪除文本(除去從DB的NOTE)和光標在TextBox1中..然後按Insert鍵一次我得到這個錯誤:插入文本框的值,當它爲空或空

「System.InvalidOperationException」類型的未處理的異常出現在System.Data .dll

附加信息:SqlCommand.Prepare方法要求所有 可變長度參數具有明確設置的非零大小。 enter image description here

我怎麼可以,如果TextBox1的IsNullOrEmpty或IsNullOrWhiteSpace我曾嘗試他們倆沒有工作,如果語句中使用到的臉頰..

+0

你有什麼試過,這是行不通的? '如果(textbox1.Text ==「」){...}'是一個很容易檢查... –

+0

我想插入空值,當我刪除文本.. 怎麼辦呢broh? –

+0

我正在使用更新查詢在SQL Server ..更新值與空值。 –

回答

2

SqlCommand.Prepare方法要求所有可變長度參數 有一個明確設置非零大小。

這意味着當您下次按下按鈕時,NOTE.Length = 0且p11.Size被設置爲零,這是不可接受的並引發問題。

這是說你可以嘗試這樣的事:

if(NOTE.Length > 0) 
    p11.Size = NOTE.Length; 
else 
    p11.Size = 1;//<-non-zero Size in case the NOTE length happens to be zero. 
//also same check for NOTE itself as well if you wish. check whether it is NULL or not and set p11 Value accordingly 

希望這有助於。

+0

太感謝你了,它的工作在我的代碼 很大,我把這樣的代碼在我的代碼: myCommand.Parameters.Add(P11); if(NOTE.Length> 0) p11.Size = NOTE.Length; else p11.Size = 1; myCommand.Prepare(); myCommand.ExecuteNonQuery(); 現在我可以刪除並插入並保持編碼hhhh謝謝你兄弟 –

+0

不客氣! –