发生错误:字符未能识别为有效的bool值;
我用下列语句绑定:
CheckBox.DataBindings.Add(new Binding("Checked",dsMasterDetail.Tables["Pub_User"],"AllowUsed"));AllowUsed  在数据库中的类型为字符,值可能是“1”,“0”,NULL请问各位兄弟该如何绑定。

解决方案 »

  1.   

    是你的数据类型有问题,在数据库中是BIT类型,在.NET中是bool(True,False)类型才行.
      

  2.   

    Binding b = new new Binding("Checked",dsMasterDetail.Tables["Pub_User"],"AllowUsed");
    b.Format += new ConvertEventHandler(自己写方法);
    b.Parse += new ConvertEventHandler(自己写方法); 
    CheckBox.DataBindingsAdd(b);
    参考Bingding类的帮助。
      

  3.   

    有一个办法是,在你从数据库读数据时做一个转换,将其转成bool类型,SQL语句如下
    select cast (AllowUsed as bit) from tablename
      

  4.   

    allowused 是你要转换的字段,tablename是存储该信息的表名
    select cast (AllowUsed as bit) allowused from tablename
      

  5.   

    CheckedChanged通过这个事件来判断然后将数据写入,如果你的字段里是0.1的话就要通过这个来判断后写入数据了,绑定的办法好像不行吧