首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

还没解决完搜索存储过程解决方案

2012-02-03 
还没解决完搜索存储过程存储过程为:ALTERproctest1@sale_namevarchar(50),@quyuvarchar(50),@subxingzhi_n

还没解决完搜索存储过程
存储过程为:

ALTER       proc   test1
 
  @sale_name   varchar(50),

  @quyu   varchar(50),

  @subxingzhi_name   varchar(50),

  @developer_name   varchar(50),
  @room_type   int,
  @chaoxiang   varchar(50),
  @area   float,
  @price   float,

  @sql   varchar(8000)   output

as
set   @sql= 'select   distinct   *   from   sale  
a,householdmodel   b,developers   c   ,subxingzhi   d  
where   a.sale_id=b.sale_id   and   a.developer_id=c.developer_id   and   a.subxingzhi_id=d.subxingzhi_id '  

  if   @sale_name <> '1 '
begin
set   @sql=@sql+ '   and   a.sale_name= ' ' '+@sale_name+ ' ' ' '
end


if   @quyu <> '1 '
begin
set   @sql=@sql+ '   and   a.quyu= ' ' '+@quyu+ ' ' ' '
end


if   @subxingzhi_name <> '1 '
begin
set   @sql=@sql+ '   and   d.subxingzhi_name= ' ' '+@subxingzhi_name+ ' ' ' '
end


if   @developer_name <> '1 '
begin
set   @sql=@sql+ '   and     c.developer_name= ' ' '+@developer_name+ ' ' ' '
end


if   @room_type <> '1 '
begin
set   @sql=@sql+ '   and     b.room_type= '+cast(@room_type   as   varchar)
end


if   @chaoxiang <> '1 '
begin
set   @sql=@sql+ '   and     b.chaoxiang= ' ' '+@chaoxiang+ ' ' ' '
end


if   @area <> '1 '
begin
set   @sql=@sql+ '   and     a.area= '+cast(@area   as   varchar)

end


if   @price <> '1 '
begin
set   @sql=@sql+ '   and   a.price= '+cast(@price   as   varchar)
end


print   @sql
exec   (@sql)


执行为:
exec   test1   'aa ', 'b ', '1 ', '1 ', '1 ', '1 ', '1 ', '1 ',2
为什么返回的为空呢?
aa   和b   表中都的数据

[解决办法]
在你的消息那看看在结果是看不到的

热点排行