日期:2014-05-17  浏览次数:20437 次

dataset强类型数据集 如何动态更换where 条件
SELECT bookBarCode, bookName, bookType, bookConcern, author, price, borrowSum FROM dbo.T_bookInfo
where @condition like '%'+@key+'%'

以上是我dataset强类型数据集中的一条记录,但我这样写之后 查询不到数据
方法名称为:GetDataByCondition
(功能:做各个条件的模糊查询)
后台代码是这么写的:
  string condition = ddlCondition.Text; //获取条件
  string key = txtKey.Text; //获取关键字

  T_bookInfoTableAdapter adapter = new T_bookInfoTableAdapter();//实例化T_bookInfo表
  var data = adapter.GetDataByCondition(condition, key); //data为查询到的数据
  gvBookInfo.DataSource = data; //选定数据源
  gvBookInfo.DataBind(); //绑定

如果把@condition改成 表中的任何一字段(如 bookName,bookConcern,price等等)就能正常的查询出数据并显示
如果我每个条件都在dataset强类型数据集中写的话 显的很麻烦。

有没有方法可以动态更换 条件,就是只写一条,而不需要在dataset强类型数据集中给每个字段都写一条。





------解决方案--------------------
SELECT * FROM dbo.T_bookInfo where @condition like '%'+@key+'%'