读书人

这段代码有什么有关问题为什么GridV

发布时间: 2012-04-27 11:57:44 作者: rapoo

这段代码有什么问题,为什么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 + "%'";



你可以获得sqlCommand的值在数据库中执行下

[解决办法]
你的SQL语句有问题
[解决办法]
sql语句的问题吧,这样写:

SQL code
string sqlCheck = "select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where " + sqlChaXun + " like '"+ sqlXuanZ +" %' ";
[解决办法]
应该是空格的原因,你在where后面加空格 like前后加空格试试,注意一定是这种格式:
比如 select * from table where 字段 like '***%'
如果黏在一起了 肯定会报语法错误 如:select * from articleControl_Table where字段like '***%'
[解决办法]
将程序中生成sql 语句放在 数据库查询分析中跑一下,看有无问题呀!
[解决办法]
sql语句错误..在like附近...
[解决办法]
第一语句顺序,第二SQL语句
[解决办法]
少一个百分号

读书人网 >C#

热点推荐