日期:2014-05-18  浏览次数:20965 次

这段代码有什么问题,为什么GridView不能显示呢?
入题:注(数据库中有数据)代码如下:
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>");
  }

------解决方案--------------------
debug一下就好了 

1,可能没有数据
2,gridview设了不自动生成列


另外,觉得你不会做2
myds.Tables["articleControl_Table"];好像不能通过名字取到表
所以你用myds.Tables[0]就好了
------解决方案--------------------
select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where 'creatAuthor' like 'abc'%'

你自己debug一下吧 ,
sql写错了

where creatAuthor like N'abc%'

N写不写都无所谓
------解决方案--------------------
把switch整体放在上面的 
//先判断查询范围,然后依据范围来检索文章
if (txtBoxChaxun.Text.Trim() != "")
{
下面就可以了
------解决方案--------------------
sq.Fill(myds, "articleControl_Table")之后断点一下,看下是否有数据。
------解决方案--------------------
组合SQL有问题,列名不带引号
改成这样:
"select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where " + sqlChaXun + " like '" + sqlXuanZ + "%'";