前两天在做一个新闻模块的时候遇到了点困难 ,就是多条件查询该怎么做。后来经过想他人请教终于把问题解决了。现在来和大家分享一下。

 表设计如下:

“拼字符串”的存储过程

存储过程如下:

“拼字符串”的存储过程set ANSI_NULLS ON
“拼字符串”的存储过程
set QUOTED_IDENTIFIER ON
“拼字符串”的存储过程
go
“拼字符串”的存储过程
“拼字符串”的存储过程
-- =============================================
“拼字符串”的存储过程--
 Author:  <Hongyu Niu>
“拼字符串”的存储过程--
 Create date: <2007-7-21>
“拼字符串”的存储过程--
 Description: <多条件查询新闻>
“拼字符串”的存储过程--
 Return Value: 
“拼字符串”的存储过程--
 =============================================
“拼字符串”的存储过程
ALTER PROCEDURE [dbo].[P_News_ContentGetAll]
“拼字符串”的存储过程
@StrFilter varchar(200)  --查询的过滤条件
“拼字符串”的存储过程
AS
“拼字符串”的存储过程
declare @Str varchar (1000)
“拼字符串”的存储过程
set @Str = 'SELECT  dbo.T_News_Content.NewsID, dbo.T_News_Content.NewsTitle,
“拼字符串”的存储过程  dbo.T_News_Content.[Content], dbo.T_News_Content.InDate, 
“拼字符串”的存储过程        dbo.T_News_Content.UserID, dbo.T_News_Content.TypeID, 
“拼字符串”的存储过程  dbo.T_News_Type.TypeName
“拼字符串”的存储过程FROM    dbo.T_News_Content left JOIN dbo.T_News_Type 
“拼字符串”的存储过程  ON dbo.T_News_Content.TypeID = dbo.T_News_Type.TypeID where 
' + @StrFilter
“拼字符串”的存储过程
Exec(@str)

如此一来只需要传入一个查询的条件就OK了 呵呵

在我的项目中生成查询条件的代码如下: 
 

“拼字符串”的存储过程   private string GetFilterString()
    }


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1716658

相关文章: