你就传一个动态的SQL语句进去就好了
判断还是可以在ASP中判断!

解决方案 »

  1.   


    --示例
    create proc p_qry
    @uName varchar(10)='',
    @uEmail varchar(10)='',
    @uAddress varchar(10)=''
    as
    declare @tj varchar(8000)
    select @tj
    =case isnull(@uName,'') when '' then ''
    else ' and uName='''+@uName+'''' end
    +case isnull(@uEmail,'') when '' then ''
    else ' and uEmail='''+@uEmail+'''' end
    +case isnull(@uAddress,'') when '' then ''
    else ' and uAddress='''+@uAddress+'''' end
    ,@tj=case @tj when '' then '' else ' where '+@tj end
    exec('select * from 表 '+@tj)
    go
      

  2.   

    与一般查询没有什么特别的啊.写成EXEC()好了
      

  3.   

    create procedure test
    @uName varchar(100) ,
    @uEmail varchar(100),
    @uAddress varchar(100)
    as
    declare @sqlstr varchar(8000)
    set @sqlstr='select * from mytable where 1=1'
    if @uName<>''
     set @sqlstr=@sqlstr + ' and uName='''+@uName+''''
    if @uEmail<>''
     set @sqlstr=@sqlstr + ' and uEmail='''+@uEmail+''''
    if @uAddress<>'' 
     set @sqlstr=@sqlstr   + ' and uAddress='''+@uAddress+''''
    exec (@sqlstr)
      

  4.   

    谢谢zjcxc(邹建)大侠给出这么详细的答案,结贴了。