关于C#.net使用搜索(模糊查询)的一个问题,请高手进来回答!
如果现在我要搜索一个字段,输入“福建”内容查询目标字段“福建三明市XXX”,这样使用selectlike%"福建"%可以查到结果。如果我现在想得到这样一个功能,就算我输入...
如果现在我要搜索一个字段,输入“福建”内容查询目标字段“福建三明市XXX”,这样使用select like %"福建"%可以查到结果。如果我现在想得到这样一个功能,就算我输入“福建省”也能得到“福建三明市XXX”(结果里没有"省"这个字),就是进行近似查询了,要如何实现?
展开
展开全部
能力”和“逻辑能力”:
1、前者“技术实现能力":就是说你有无代码写作能力来实现你想要的功能。
ASP重在基础,基础扎实打好后,应优先考虑如何优化代码,以提高程序效率,除了和不同的数据库组合效率,ASP程序本身执行效率追求,是一个想成为高手必不可少的必修课,比如,各种各样的打开数据库方式。
如果做到上面的这些,我个人觉得就足以应付大部分情况或功能需求,你也会发现,基本上ASP都是这些基础代码演变来演变去的。
再往深一些,则会遇到“类”和“正则”等功能,个人建议是必需要学的,这将大大拓宽你的开发技术实现能力。比如我们的网站购物车就是用类封装,功能很多,用“类”来做,十分方便调用,并且考虑到了通用性和不同的功能需求,可以在调用时增加或减少部分功能需求。即使以后开发新的网站,这个购物车也很能用上,不需要再到处找它相关文件,只要给类文件几个参数调用就可以。这远比其它方式来的方便。又如搜索系统的模糊查询以及UBB,就要用到正则,如果连最经常用的UBB都无法读懂,恐怕没人会认为他是高手吧。
2、后者"逻辑能力", 就是实现同样一种功能,你能否用最简单的语法和流程来实现。我始终认为,这个能力才是最主要的,不管是ASP还是其它语言。
初学者,常常会为实现一个功能,在代码逻辑上转了很多弯,当你去读高手写的程序时,可能就会有一种柳暗花明的感觉,这实际上就是逻辑考虑的最优、最简等方面的不足。又如写类文件,流程怎么样最简单,哪些要定义成公用函数,哪些定义成私用,哪些功能提取出来,哪些不必要。等等。都需要事无巨细考虑到。要提高这个能力,需要经常看高手的作品。
这个能力我想也适合于其它程序,我曾按客户要求,参考厦门地税,做一个税务计算器,那个厦门地税网站的计算器是用AJAX做的,并且每执行一次计算,页面底部就会刷出一串文字,破坏页面美观。我觉得纯粹是乱用程序,因为它用JS就能写出来,何必搞的那么复杂。事实也证明我直接用JS编写的,同样实现页面不刷新计算出结果,同时页面不受破坏地实时返回计算结果。
精通一门语言是必要的,不过,不要太在意一定要学的非常非常精深,其实现在很多功能,只会ASP是远远不够的,综合能力很重要,最起码,你要会些JS,还了解CSS+DIV,还有XML,AJAX。但是,人的精力是有限的,因此,ASP学到一定时,要注意往横方向扩展能力。不过,当你ASP学到一定程度时,特别是对代码的逻辑感建立起来以后,学其它语言以及JS会飞快。当中的快乐需要你自己去休验。
1、前者“技术实现能力":就是说你有无代码写作能力来实现你想要的功能。
ASP重在基础,基础扎实打好后,应优先考虑如何优化代码,以提高程序效率,除了和不同的数据库组合效率,ASP程序本身执行效率追求,是一个想成为高手必不可少的必修课,比如,各种各样的打开数据库方式。
如果做到上面的这些,我个人觉得就足以应付大部分情况或功能需求,你也会发现,基本上ASP都是这些基础代码演变来演变去的。
再往深一些,则会遇到“类”和“正则”等功能,个人建议是必需要学的,这将大大拓宽你的开发技术实现能力。比如我们的网站购物车就是用类封装,功能很多,用“类”来做,十分方便调用,并且考虑到了通用性和不同的功能需求,可以在调用时增加或减少部分功能需求。即使以后开发新的网站,这个购物车也很能用上,不需要再到处找它相关文件,只要给类文件几个参数调用就可以。这远比其它方式来的方便。又如搜索系统的模糊查询以及UBB,就要用到正则,如果连最经常用的UBB都无法读懂,恐怕没人会认为他是高手吧。
2、后者"逻辑能力", 就是实现同样一种功能,你能否用最简单的语法和流程来实现。我始终认为,这个能力才是最主要的,不管是ASP还是其它语言。
初学者,常常会为实现一个功能,在代码逻辑上转了很多弯,当你去读高手写的程序时,可能就会有一种柳暗花明的感觉,这实际上就是逻辑考虑的最优、最简等方面的不足。又如写类文件,流程怎么样最简单,哪些要定义成公用函数,哪些定义成私用,哪些功能提取出来,哪些不必要。等等。都需要事无巨细考虑到。要提高这个能力,需要经常看高手的作品。
这个能力我想也适合于其它程序,我曾按客户要求,参考厦门地税,做一个税务计算器,那个厦门地税网站的计算器是用AJAX做的,并且每执行一次计算,页面底部就会刷出一串文字,破坏页面美观。我觉得纯粹是乱用程序,因为它用JS就能写出来,何必搞的那么复杂。事实也证明我直接用JS编写的,同样实现页面不刷新计算出结果,同时页面不受破坏地实时返回计算结果。
精通一门语言是必要的,不过,不要太在意一定要学的非常非常精深,其实现在很多功能,只会ASP是远远不够的,综合能力很重要,最起码,你要会些JS,还了解CSS+DIV,还有XML,AJAX。但是,人的精力是有限的,因此,ASP学到一定时,要注意往横方向扩展能力。不过,当你ASP学到一定程度时,特别是对代码的逻辑感建立起来以后,学其它语言以及JS会飞快。当中的快乐需要你自己去休验。
展开全部
可以这样试试,就是手动来设定逻辑。
先判断是否有出现某些关键字(比如“省”……),没有的话就按你前面那样模糊查询,如果有的话,你可以设定截取 输入的字符中“省”的前面的那些字符串来做条件,这样后面也就不用变了。
--------------------------------------------------------------------------------------------------
只是一个想法,试试看符不符合你的逻辑。
先判断是否有出现某些关键字(比如“省”……),没有的话就按你前面那样模糊查询,如果有的话,你可以设定截取 输入的字符中“省”的前面的那些字符串来做条件,这样后面也就不用变了。
--------------------------------------------------------------------------------------------------
只是一个想法,试试看符不符合你的逻辑。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我建议这样处理:
给用户2个选择
第一:必须含有关键词 %"关键词"%
第二:查询类似关键词
{
拆分 关键词=“关”,“键”,“关键”.......
再用一个循环 like 查询出来
}
这样可以给客户选择的余地
也可以 把匹配出来的 数据按 “关”,“键”,“关键”....... 分组
给用户2个选择
第一:必须含有关键词 %"关键词"%
第二:查询类似关键词
{
拆分 关键词=“关”,“键”,“关键”.......
再用一个循环 like 查询出来
}
这样可以给客户选择的余地
也可以 把匹配出来的 数据按 “关”,“键”,“关键”....... 分组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新建2个表
第一表纯粹储存关键词 就2个字段 id,自增主键 keyword 文本
第二个表 储存关键词和你数据表的对应关系 俩字段 kid (对应第一个表的id) ,did(对应你数据表的主键)
搜索的时候直接从第二个表里面搜
第一表纯粹储存关键词 就2个字段 id,自增主键 keyword 文本
第二个表 储存关键词和你数据表的对应关系 俩字段 kid (对应第一个表的id) ,did(对应你数据表的主键)
搜索的时候直接从第二个表里面搜
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
I can see your point doing that, what you can do in your query, adding "%fujian%" or "%fujianshen%"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |