小弟SQL 不怎么好。想写个存储过程用于搜索!可总报错。先问一下是不是存储过程的问题!
请高人指点!!CREATE PROCEDURE UP_tbl_User_GetSearchList
(
@Userid int =NULL,
@Username varchar(100) =NULL,
@U_NickName varchar(100) =NULL,
@U_RealName varchar(100) =NULL,
@Usersext int = NULL,
@Starttime varchar(100) =NULL,
@Endtime varchar(100) =NULL
)
 AS 
DECLARE @SQL varchar(100) 
set @SQL ='SELECT 
[U_Id],[U_UserName],[U_Password],[U_NickName],[U_IsActivation],[U_Pd_Question],[U_Pd_Answer],[U_RealName],[U_Birthday],[U_Sex],[U_Register_Date]
 FROM tbl_User'
IF  @Userid is NOT NULL AND NOT @Userid =''
    set @SQL = @SQL+'where @Userid = '+@Userid IF  @Username is NOT NULL AND NOT @Username =''
set @SQl = @SQL +' and @Username=' +@UsernameIF  @U_RealName is NOT NULL AND NOT @U_RealName =''
set @SQl = @SQL +' and @U_RealName=' +@U_RealNameIF  @U_NickName is NOT NULL AND NOT @U_NickName =''
set @SQL = @SQL + ' and @U_NickName=' + @U_NickNameIF  @Usersext is NOT NULL AND NOT @Usersext =''
set @SQL = @SQL + 'and @Usersext =' +@UsersextIF  @Starttime is NOT NULL AND NOT @Starttime =''
set @SQL = @SQl + 'U_Register_Date>=' +@StarttimeIF  @Endtime is NOT NULL AND NOT @Endtime =''
set @SQL = @SQL +'U_Register_Date<='+@EndtimeEXEC(
@SQL
)
GO