F:\Visual Studio Projects\ChangjiuPri\Web\DBAccess\DBOperate.cs(295): 运算符“==”无法应用于“string”和“int”类型的操作数我的代码+" WHERE TRUE "
+"AND "
+BrandID==0?String.Empty:"(分类_编号_品牌 IN (SELECT 编号 FROM 分类 WHERE 父类别="+BrandID+") OR 分类_编号_品牌="+BrandID+")"
+"  AND "
+CatalogID==0?String.Empty:"(分类_编号 IN (SELECT 编号 FROM 分类 WHERE 父类别="+CatalogID+") OR 分类_编号="+CatalogID+")"
+" AND "
+Type==null?String.Empty:" (型号 LIKE %'"+Type+"'%) "

解决方案 »

  1.   

    其实我真的不知道该如何回答。BrandID==0
    BrandID=="0"
    解决就是这样,但是我觉得你应该去恶补基础知识。
      

  2.   

    int intBrandID = Convert.ToInt32( BrandID );
    再用 intBrandID 进行比较
      

  3.   

    +" WHERE TRUE "
    +"AND "
    +BrandID=="0"?String.Empty:"(分类_编号_品牌 IN (SELECT 编号 FROM 分类 WHERE 父类别="+BrandID+") OR 分类_编号_品牌="+BrandID+")"
    +"  AND "
    +CatalogID=="0"?String.Empty:"(分类_编号 IN (SELECT 编号 FROM 分类 WHERE 父类别="+CatalogID+") OR 分类_编号="+CatalogID+")"
    +" AND "
    +Type==null?String.Empty:" (型号 LIKE %'"+Type+"'%) "
      

  4.   

    BrandID是string类型的,而0是整型,故而报类型不一致错误,加""把0变成"0"string就可以了