入题:注(数据库中有数据)代码如下:
string gr = DropDownList1.SelectedValue.ToString();
       
        //先判断查询范围,然后依据范围来检索文章
        if (txtBoxChaxun.Text.Trim() != "")
        {
            string getChaXunVale = DropDownList1.SelectedValue.ToString();
            string sqlXuanZ = txtBoxChaxun.Text;
            string sqlChaXun = "";
            string sqlCheck = "select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from  articleControl_Table where '" + sqlChaXun + "' like  '"+sqlXuanZ+"'+'%' ";
            switch (gr)
            {
                case "标题":
                    sqlChaXun = "artTitle";                    break;
                case "作者":
                    sqlChaXun = "creatAuthor";
                    break;
                case "时间":
                    sqlChaXun = "creatTime";
                  
                    break;
                case "板块":
                    sqlChaXun = "plante";
                    break;
                case "火热":
                    break;
            }            SqlConnection getConn = connectSqlData();
            getConn.Open();
            string sqlCommand = sqlCheck;
            SqlDataAdapter sq = new SqlDataAdapter(sqlCommand, getConn);
            DataSet myds = new DataSet();
            sq.Fill(myds, "articleControl_Table");            DataView myView = myds.Tables["articleControl_Table"].DefaultView;
            string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
            myView.Sort = sort;            gV_ArticleCotrol.DataSource = myds.Tables["articleControl_Table"];
            gV_ArticleCotrol.DataBind();
            getConn.Close();
            
            //此处是否还需要重新绑定数据源呢?            // Response.Write(sqlChaXun);//这里最后显示是我要的结果,这两个变量被赋予了正确的值
           // Response.Write(sqlXuanZ);        }
        else
        {
            Response.Write("<script>alert('亲,您的查询内容为空!')</script>");
        }

解决方案 »

  1.   

    debug一下就好了 1,可能没有数据
    2,gridview设了不自动生成列
    另外,觉得你不会做2
    myds.Tables["articleControl_Table"];好像不能通过名字取到表
    所以你用myds.Tables[0]就好了
      

  2.   

    select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where 'creatAuthor' like 'abc'%'你自己debug一下吧 ,
    sql写错了where creatAuthor like N'abc%'N写不写都无所谓
      

  3.   

    把switch整体放在上面的 
    //先判断查询范围,然后依据范围来检索文章
      if (txtBoxChaxun.Text.Trim() != "")
      {

    下面就可以了
      

  4.   

    sq.Fill(myds, "articleControl_Table")之后断点一下,看下是否有数据。
      

  5.   

    组合SQL有问题,列名不带引号
    改成这样:
    "select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where " + sqlChaXun + " like '" + sqlXuanZ + "%'";你可以获得sqlCommand的值在数据库中执行下
      

  6.   

    嗯,看样子还是在SQL语句上面的问题,重新检查看看吧。
      

  7.   

    我将SQL语句该成这样上面兄弟写的那样,结果报错"like附近有语法错误"。
    但是我修改成这样之后,没有报错,但是Gridview居然不见了。。
    code:
    string sqlCheck = "select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from  articleControl_Table where '" + sqlChaXun + "' like   '"+ sqlXuanZ +" %' ";
      

  8.   

    sql语句的问题吧,这样写:string sqlCheck = "select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where " + sqlChaXun + " like '"+ sqlXuanZ +" %' ";
      

  9.   

    这样修改之后出现这样的错误:关键字 'like' 附近有语法错误
      

  10.   

    应该是空格的原因,你在where后面加空格 like前后加空格试试,注意一定是这种格式:
    比如 select * from table where 字段 like '***%'
    如果黏在一起了 肯定会报语法错误 如:select * from articleControl_Table where字段like '***%' 
      

  11.   

    将程序中生成sql 语句放在 数据库查询分析中跑一下,看有无问题呀!
      

  12.   

    在selectCommand中这段可以运行:
    SELECT [artTitle], [creatTime], [plante], [creatAuthor], [author], [passWord] FROM [articleControl_Table] WHERE (artTitle like '%名名%')