我原想通过数据库的字段(身份)即“身份=1”这个条件为前提来约束整个搜索(当满足了“身份=1”时进行关键字匹配搜索)但是一运行就报错求改进,代码如下:
   protected void Button2_Click(object sender, EventArgs e)
    {
        string str = this.Text2.Text.Trim();
        if (str.Length > 0)
        {
            SqlConnection conn = new SqlConnection(SqlConn.ConnString);
            string sqlText = "SELECT * FROM Information WHERE 标题 LIKE '%"
                          + str + "%'or 内容 LIKE '%" + str + "%'and 身份=='0' ORDER BY 时间 DESC";
            SqlDataAdapter adapter = new SqlDataAdapter(sqlText, conn); 
            dataset = new DataSet();
            adapter.Fill(dataset, "Information");  
            this.DataGrid1.DataSource = dataset.Tables["Information"];
            this.DataGrid1.DataBind();   
        }
    }

解决方案 »

  1.   

    'and 身份 '0' SQL语句内只要一个等号就可以了吧
      

  2.   

    身份=1代码里面怎么写的是等于0啊,身份是字符型?
    string sqlText = "SELECT * FROM Information WHERE (标题 LIKE '%"
      + str + "%'or 内容 LIKE '%" + str + "%')and 身份='1' ORDER BY 时间 DESC";//按字符写的 
      

  3.   

    楼主,一运行就报错,是报滴什么错?我从你的 SQL 语句里看到,类似字段为中文的字段名,都应该加上中括号,如:
    string sqlText = "SELECT * FROM Information WHERE ([标题] LIKE '%"
      + str + "%'or [内容] LIKE '%" + str + "%')and [身份]='1' ORDER BY [时间] DESC";//按字符写的
      

  4.   

    要想确定你的 SQL 语句有没有问题,最好直接在页面上输出你的 SQL 语句(sqlText 的值),直接放到查询分析器运行