入题:注(数据库中有数据)代码如下:
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>");
}
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>");
}
2,gridview设了不自动生成列
另外,觉得你不会做2
myds.Tables["articleControl_Table"];好像不能通过名字取到表
所以你用myds.Tables[0]就好了
sql写错了where creatAuthor like N'abc%'N写不写都无所谓
//先判断查询范围,然后依据范围来检索文章
if (txtBoxChaxun.Text.Trim() != "")
{
下面就可以了
改成这样:
"select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where " + sqlChaXun + " like '" + sqlXuanZ + "%'";你可以获得sqlCommand的值在数据库中执行下
但是我修改成这样之后,没有报错,但是Gridview居然不见了。。
code:
string sqlCheck = "select artid, artTitle, creatTime, plante, creatAuthor, passWord, author from articleControl_Table where '" + sqlChaXun + "' like '"+ sqlXuanZ +" %' ";
比如 select * from table where 字段 like '***%'
如果黏在一起了 肯定会报语法错误 如:select * from articleControl_Table where字段like '***%'
SELECT [artTitle], [creatTime], [plante], [creatAuthor], [author], [passWord] FROM [articleControl_Table] WHERE (artTitle like '%名名%')