马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
经常看到许多网站有一个站内搜索功能,这个是如何实现呢?如果是ASP,那很快就能实现。现在是ASP.NET,得稍微手编一下。 11.1 SELECT高级搜索技巧 经过上面章节的学习,对SELECT多少会点了解。SELECT高级搜索技巧,其实也没有什么神秘,主要与模式匹配运算符的运用有关。所以这里主要讲解模式匹配运算符的运用。 模式匹配运算符LIKE、NOT LIKE常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。LIKE用于查找匹配一定条件的记录,NOT LIKE用于查找不匹配指定条件的记录。可用于字符串、文本、日期等类型查询。 1.百分号%:可匹配任意类型和长度的字符。 例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE “网络%” 这个查询是要查询学习笔记表中标题以“网络”开始的所有学习笔记,如:网络ASP一点通过、网络与手机通讯开发研究等。 例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE “%ASP.NET%” 这个查询是要查询所有标题包含了“ASP.NET”的学习笔记。 2.下划线_:匹配单个任意字符,常用来限制表达式的字符长度。 例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE ”V_开发精选 ” 这个查询主要是查询类似于“VB开发精选”、“VC开发精选”这样标题的学习笔记。 3.中括号[ ]:指定个字符、字符串或范围,要求所匹配对象为它们的任一个。 11.2 站内搜索功能的实现 介绍了SELECT高级搜索技巧后,将要介绍站内搜索功能的实现。这里只采用了百分号%模式匹配运算符。 (1)打开模板dkblog.dwt.aspx,插入表单,设ID=” gofrm”,动作为” ../dkgo.aspx”,方法为”POST”;插入文本框,设ID= “dkgotxt”;插入按钮“搜索”,结果如图11-1所示。 (2)保存模板dkblog.dwt.aspx更新所有网页。 (3)新建一个空白ASP.NET VB动态页,并保存为dkgo.aspx。添加数据集Ztre,其设置如图11-2所示。 
图11-1 添加有关表单控件 
图11-2 添加数据集Ztre (4)单击“高级”按钮,把SQL命令: SELECT * FROM ZT ORDER BY ZITIME DESC 改为: SELECT * FROM ZT WHERE ZTNAME LIKE '%" Request.Form("dkgotxt") "%' ORDER BY ZITIME DESC 结果如图11-3所示。 
经常看到许多网站有一个站内搜索功能,这个是如何实现呢?如果是ASP,那很快就能实现。现在是ASP.NET,得稍微手编一下。 11.1 SELECT高级搜索技巧 经过上面章节的学习,对SELECT多少会点了解。SELECT高级搜索技巧,其实也没有什么神秘,主要与模式匹配运算符的运用有关。所以这里主要讲解模式匹配运算符的运用。 模式匹配运算符LIKE、NOT LIKE常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。LIKE用于查找匹配一定条件的记录,NOT LIKE用于查找不匹配指定条件的记录。可用于字符串、文本、日期等类型查询。 1.百分号%:可匹配任意类型和长度的字符。 例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE “网络%” 这个查询是要查询学习笔记表中标题以“网络”开始的所有学习笔记,如:网络ASP一点通过、网络与手机通讯开发研究等。 例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE “%ASP.NET%” 这个查询是要查询所有标题包含了“ASP.NET”的学习笔记。 2.下划线_:匹配单个任意字符,常用来限制表达式的字符长度。 例如:SELECT 学习笔记 FROM 学习笔记表 WHERE 标题 LIKE ”V_开发精选 ” 这个查询主要是查询类似于“VB开发精选”、“VC开发精选”这样标题的学习笔记。 3.中括号[ ]:指定个字符、字符串或范围,要求所匹配对象为它们的任一个。 11.2 站内搜索功能的实现 介绍了SELECT高级搜索技巧后,将要介绍站内搜索功能的实现。这里只采用了百分号%模式匹配运算符。 (1)打开模板dkblog.dwt.aspx,插入表单,设ID=” gofrm”,动作为” ../dkgo.aspx”,方法为”POST”;插入文本框,设ID= “dkgotxt”;插入按钮“搜索”,结果如图11-1所示。 (2)保存模板dkblog.dwt.aspx更新所有网页。 (3)新建一个空白ASP.NET VB动态页,并保存为dkgo.aspx。添加数据集Ztre,其设置如图11-2所示。 
图11-1 添加有关表单控件 
图11-2 添加数据集Ztre (4)单击“高级”按钮,把SQL命令: SELECT * FROM ZT ORDER BY ZITIME DESC 改为: SELECT * FROM ZT WHERE ZTNAME LIKE '%" Request.Form("dkgotxt") "%' ORDER BY ZITIME DESC 结果如图11-3所示。 
图11-3 对数据集Ztre进行修改 (5)对dkgo.aspx页面进行有关设计,绑定有关动态文本到页面中,设计重要区域,结果如图11-4所示。 
图11-3 对dkgo.aspx的页面设置 有关设置细节可以参照index.aspx的有关设置。 |