strFilter=strFilter+" and [ERP号] like '*"+Tb_ErpNum.Text+"*'";

解决方案 »

  1.   

    不知道是什么数据库?前面的代码是什么?猜测改为:
    strFilter=strFilter+" and [ERP号] like '%"+Tb_ErpNum.Text+"%'";
      

  2.   

    用的是mssql数据库
    ERP号是个int字段,
    照你的方法修改后,结果出现
    =========无法在 System.Int32 和 System.String 上执行“Like”操作。=============
      

  3.   

    原句产生的错误是:
    ========语法错误:“Mod”运算符前缺少操作数。===========
      

  4.   

    ERP号是个int字段,
    照你的方法修改后,结果出现
    =========无法在 System.Int32 和 System.String 上执行“Like”操作。=============int字段怎么和字符串比啊strFilter=strFilter+" and Str([ERP号]) like '%"+Tb_ErpNum.Text+"%'";用str()函数将int字段转换为字符串先再比较
      

  5.   

    是不是数字类型的不能用like来匹配啊
      

  6.   

    不是数字类型不能用like来匹配,
    你上面的写法没发现什么问题,能不能把整个SQL贴出来看下。
      

  7.   

    string strFilter;
    strFilter="[名称] like '%"+Tb_name.Text+"%'";
    if (Dlist_use.Value!="none")
    {
    strFilter=strFilter+" and [使用设备]='"+Dlist_use.Value+"'";
    }
    if (Tb_ErpNum.Text!="")
    {
    strFilter=strFilter+" and [ERP号] like '%"+Tb_ErpNum.Text+"%'";

    }
    dataView1.RowFilter=strFilter;
    Dg1.DataBind();
      

  8.   

    我将erpnum字段换成char就ok。
      

  9.   

    strFilter=strFilter+" and [ERP号] like '%"+Tb_ErpNum.Text+"%'";