首页新闻找找看学习计划

sql全站搜索出来的结果 怎么跳到相应的页面呢?怎么样的代码搜索效率最高呢?

0
悬赏园豆:5 [已解决问题] 解决于 2013-10-30 15:37

给看看我这代码。。。怎么把搜索出来的结果。跳转到相应页面呢?  我这是一个比较大的网站,里面要一个全站搜索功能~

create proc Full_Search(@string varchar(50))
as
begin
 
declare @tbname varchar(50) 
declare tbroy cursor  for select name from sysobjects  
where xtype='u'   --第一个游标遍历所有的表
 
open tbroy
fetch next from tbroy into @tbname
while @@fetch_status=0
begin
   
 declare @colname varchar(50)
 declare colroy cursor for select name from syscolumns
 where id=object_id(@tbname) and xtype in (
 select xtype from systypes
 where name in ('varchar','nvarchar','char','nchar') --数据类型为字符型的字段
 ) --第二个游标是第一个游标的嵌套游标,遍历某个表的所有字段
 
 open colroy
 fetch next from colroy into @colname
 while @@fetch_status=0
 begin
  
 declare @sql nvarchar(1000),@j int
 select @sql='select @i=count(1) from ' +@tbname +'  where '+ @colname+' like '+'''%'+@string+'%'''
 exec sp_executesql @sql,N'@i int output',@i=@j output   --输出满足条件表的记录数
 if @j>0
 exec('select  distinct '+@colname+' from ' +@tbname +'  where '+ @colname+' like '+'''%'+@string+'%''')
 
 fetch next from colroy into @colname
 end       
  
 close colroy
 deallocate colroy
 
fetch next from tbroy into @tbname
end
close tbroy
deallocate tbroy
end
 
exec Full_Search  '一'
 
drop proc Full_Search

次时代的主页 次时代 | 初学一级 | 园豆:5
提问于:2013-09-11 10:27
< >
分享
最佳答案
0

解决了

次时代 | 初学一级 |园豆:5 | 2013-10-30 15:36
其他回答(2)
0

搜索还是得用Lucene.NET

收获园豆:2
dudu | 园豆:38720 (高人七级) | 2013-09-11 10:35
0

推荐使用solr

收获园豆:3
袁家小黑球 | 园豆:1045 (小虾三级) | 2013-09-12 19:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册