语法错误 (操作符丢失) 在查询表达式 'lm= and sh='1'' 中。
   //根据栏目ID来绑定文章
    private void BindWz( string lmid)
    {
        DataTable dt = DBhelper2.ExecuteTable("select id,lm,bt,sj,tp from wzb where lm=" + lmid + " and sh='1' order by sx");        if (dt != null && dt.Rows.Count > 0)
        {
            if (dt.Rows.Count == 1)
            {
                BindWzByWzId(dt.Rows[0]["id"].ToString());
            }
            else
            {
                if (lmid == "92")
                {
                    //视频
                    RptSp.DataSource = dt;
                    RptSp.DataBind();
                }
                else if (lmid == "93")
                {
                    //图片
                    DLPicture.DataSource = dt;
                    DLPicture.DataBind();
                }
                else
                {
                    rptWz.DataSource = dt;
                    rptWz.DataBind();
                }
            }
        }
    }
我语句怎么看都正确啊,为什么总是报操作符丢失的错误?

解决方案 »

  1.   

    你的lm等于空,肯定会语法错误啦,你应该判断一下lm
      

  2.   

    sql 拼得不完整'lm= and sh='1''    lm的值没拼上
      

  3.   

    lmid等于""的时候让lmid=0或者是等于一个不存在的值。
      

  4.   

    嗯,加了一个 方法    private string GetLm()
        {
            if (Request.QueryString["lm"] != null)
                return Request.QueryString["lm"];
            else
                return "1";
        }
    对Lm值判断,就可以了,谢谢大家了