main.系统管理ToolStripMenuItem.Visible = Boolean.Parse(dr.GetValue(2).ToString());
 执行到这句的时候,就出错了:该字符串未被识别为有效的布尔值
Boolean.Parse 方法不是将将辑值的指定字符串表示形式转换为它的等效 Boolean 值吗?弄了好长时间真不知道错在哪里

解决方案 »

  1.   

    首先要确认 dr.GetValue(2).ToString() 里面的值是什么。再转换。
      

  2.   


    数据库里的类型是 bit型的
      

  3.   

    在不行,就调试下看下 dr.GetValue(2).ToString() 的值是个什么玩意儿
      

  4.   

    Boolean.Parse(dr.GetValue(2).ToString());
    这个语句错误了。
    你可以这样。
    bool _b=false;
    Boolean.TryParse(dr.GetValue(2).ToString(),&_b);
      

  5.   

    dr.GetValue(2).ToString()在数据库中必须存 true或者false才可以
    存成1或者0 肯定不行。 bool类型的。
      

  6.   

     数据库中bit类型的字段返回给应用程序时,会转换为相应的ture 或false 。
    dr.GetValue(2).ToString()只是为了将数据库传来的值变为 "ture","false"