2017-06-02 51 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

不客气! –