当前位置: 代码迷 >> ASP.NET >> gridview显示数据的sql语句有关问题
  详细解决方案

gridview显示数据的sql语句有关问题

热度:3309   发布时间:2013-02-25 00:00:00.0
gridview显示数据的sql语句问题
功能是查询,有一个dropdownlist--DDLSearch,textbox--TBSearch
现在textbox中输入关键字,dropdowlist选择相应的值,比如bookname等,实现分类查询,语句如下
string   sql   =   "SELECT   book_name,writer,price   FROM   book   WHERE   "   +   " ' "   +   DDLsearch.SelectedValue.Trim()   +   " ' "   +   "LIKE   @insert1 ";
若将DDLsearch.SelectedValue.Trim()   改为bookname等是可以实现查询的,但用它后却什么也查不到,为什么?
两个变量不能同时应用吗?
怎样实现类似功能的查询?
不用为dropdownlist的value分别写几个事件吧?



------解决方案--------------------------------------------------------
string sql = "SELECT book_name,writer,price FROM book WHERE " + " ' " + DDLsearch.SelectedValue.Trim() + " ' " + "LIKE @insert1 ";
语句有问题吧:
string sql = "SELECT book_name,writer,price FROM book WHERE " + DDLsearch.SelectedValue.Trim() + "LIKE @insert1 ";

DDLsearch.SelectedValue.Trim()是不是表中的字段名啊


------解决方案--------------------------------------------------------
你的SQL要这样写:
Search tbsearch 是数据库字段名称
string sql = "select * from book where Search = ' "+DDLsearch.SelectedValue.Trim()+ " ' and tbsearch like '% "+TBSearch.text.tostring()+ "% ' ";

------解决方案--------------------------------------------------------
如果DDLsearch.SelectedValue.Trim()是字段名的话,应该用以下这种写法:
string sql = "SELECT book_name,writer,price FROM book WHERE ' " + DDLsearch.SelectedValue.Trim() + " ' LIKE '% " + @insert1 + " ' ";


------解决方案--------------------------------------------------------
上面写错了,不好意思,应该这样:
如果DDLsearch.SelectedValue.Trim()是字段名的话,应该用以下这种写法:
string sql = "SELECT book_name,writer,price FROM book WHERE " + DDLsearch.SelectedValue.Trim() + " LIKE '% " + @insert1 + " ' ";
------解决方案--------------------------------------------------------
为什么又用拼接字符串,又用参数,这种写法超不规范
------解决方案--------------------------------------------------------
caowenkai() 正解
------解决方案--------------------------------------------------------
字段名不需要引号,去掉引号就可以了。

string sql = "SELECT book_name,writer,price FROM book "
+ " WHERE " + DDLsearch.SelectedValue.Trim() + "LIKE @insert1 ";
  相关解决方案