日期:2014-05-19  浏览次数:20915 次

非常奇怪的问题,""与""有区别么?
一个winform程序,  

if   (string.IsNullOrEmpty(this.TextBox1.Text)   )  
{
        //testbox1已绑定到BindingSource1
        this.TextBox1.Text   =   " ";
}

.......

this.Validate();
this.BindingSource1.EndEdit();

如果TextBox1不输入任何数据,则this.BindingSource1.EndEdit()处发生异常(已设置强类型数据集中allowdbnull为false.

但是在textbox1中输入数据后再删除,则不会出错.

在两次运行中,通过断点查看textbox1的值,两次的值都是 " "
真是奇了怪了 " "与 " "还有什么不同么?

如何让数据库存入一个 " "的值呢?,string.empty已经试过不行了.

------解决方案--------------------
不编辑不会触发Validate吧,数据库写NULL,看是什么数据库了
------解决方案--------------------
不要判断控件的值 直接判断绑定的数据源的值试试

------解决方案--------------------
我一般这样判断
if(TextBox1.Text== " ")
{
//do something
}
------解决方案--------------------
关于:如何让数据库存入一个 " "的值呢?,string.empty已经试过不行了.

.NET中有一种与数据库对应的数据类型
详见:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/WD_ADONET/html/ec34ae21-bbbb-4adb-b672-83865e2a8451.htm