无法在 System.String 和 System.Int32 上执行“=”操作。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.EvaluateException: 无法在 System.String 和 System.Int32 上执行“=”操作。源错误: 
行 101:        string sql = string.Format("depart_id={0}", departid);
行 102:        //从Dataset中筛选符合条件的行的集合
行 103:        DataRow[] drr = ds.Tables[0].Select(sql);
行 104: 

解决方案 »

  1.   

    你的departid是整型的吧?
    改成:
    行 101: string sql = string.Format("depart_id={0}", departid.ToString());
      

  2.   


    是这个原因么?Console.WriteLine(String.Format("depart_id={0}",5));//这个是没错误的
      

  3.   

    Tables里面的depart_id字段是什么类型?
    程序中的departid变量又是什么类型?
      

  4.   

    ds.Tables[0]中的depart_id类型是什么?//可以改为string sql = string.Format("depart_id=‘{0}’", departid);试试
      

  5.   

    departid是string型的呀,depart_id也是string型,我的SQL语句单独运行都没问题,可就是报错
      

  6.   

    "1" = 1  这个肯定错啦"1" = 1.tostring()
    或者
    Convert.toint32("1") = 1 
      

  7.   

     string sql = string.Format("depart_id={0}", departid); 这个是没错的 DataRow[] drr = ds.Tables[0].Select(sql); 错误应该是在这里的,应该是筛选的时候,类型不匹配造成的修改下看看:
    string sql = string.Format("depart_id='{0}'", departid); 
    DataRow[] drr = ds.Tables[0].Select(sql);