关于C#.net使用搜索(模糊查询)的一个问题,请高手进来回答!

如果现在我要搜索一个字段,输入“福建”内容查询目标字段“福建三明市XXX”,这样使用selectlike%"福建"%可以查到结果。如果我现在想得到这样一个功能,就算我输入... 如果现在我要搜索一个字段,输入“福建”内容查询目标字段“福建三明市XXX”,这样使用select like %"福建"%可以查到结果。如果我现在想得到这样一个功能,就算我输入“福建省”也能得到“福建三明市XXX”(结果里没有"省"这个字),就是进行近似查询了,要如何实现? 展开
 我来答
fog16grx
2011-04-09 · TA获得超过1293个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:0
展开全部
能力”和“逻辑能力”:

1、前者“技术实现能力":就是说你有无代码写作能力来实现你想要的功能。

ASP重在基础,基础扎实打好后,应优先考虑如何优化代码,以提高程序效率,除了和不同的数据库组合效率,ASP程序本身执行效率追求,是一个想成为高手必不可少的必修课,比如,各种各样的打开数据库方式。

如果做到上面的这些,我个人觉得就足以应付大部分情况或功能需求,你也会发现,基本上ASP都是这些基础代码演变来演变去的。

再往深一些,则会遇到“类”和“正则”等功能,个人建议是必需要学的,这将大大拓宽你的开发技术实现能力。比如我们的网站购物车就是用类封装,功能很多,用“类”来做,十分方便调用,并且考虑到了通用性和不同的功能需求,可以在调用时增加或减少部分功能需求。即使以后开发新的网站,这个购物车也很能用上,不需要再到处找它相关文件,只要给类文件几个参数调用就可以。这远比其它方式来的方便。又如搜索系统的模糊查询以及UBB,就要用到正则,如果连最经常用的UBB都无法读懂,恐怕没人会认为他是高手吧。

2、后者"逻辑能力", 就是实现同样一种功能,你能否用最简单的语法和流程来实现。我始终认为,这个能力才是最主要的,不管是ASP还是其它语言。

初学者,常常会为实现一个功能,在代码逻辑上转了很多弯,当你去读高手写的程序时,可能就会有一种柳暗花明的感觉,这实际上就是逻辑考虑的最优、最简等方面的不足。又如写类文件,流程怎么样最简单,哪些要定义成公用函数,哪些定义成私用,哪些功能提取出来,哪些不必要。等等。都需要事无巨细考虑到。要提高这个能力,需要经常看高手的作品。
这个能力我想也适合于其它程序,我曾按客户要求,参考厦门地税,做一个税务计算器,那个厦门地税网站的计算器是用AJAX做的,并且每执行一次计算,页面底部就会刷出一串文字,破坏页面美观。我觉得纯粹是乱用程序,因为它用JS就能写出来,何必搞的那么复杂。事实也证明我直接用JS编写的,同样实现页面不刷新计算出结果,同时页面不受破坏地实时返回计算结果。

精通一门语言是必要的,不过,不要太在意一定要学的非常非常精深,其实现在很多功能,只会ASP是远远不够的,综合能力很重要,最起码,你要会些JS,还了解CSS+DIV,还有XML,AJAX。但是,人的精力是有限的,因此,ASP学到一定时,要注意往横方向扩展能力。不过,当你ASP学到一定程度时,特别是对代码的逻辑感建立起来以后,学其它语言以及JS会飞快。当中的快乐需要你自己去休验。
百度网友d7ae1df
2011-04-08 · TA获得超过234个赞
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:145万
展开全部
可以这样试试,就是手动来设定逻辑。
先判断是否有出现某些关键字(比如“省”……),没有的话就按你前面那样模糊查询,如果有的话,你可以设定截取 输入的字符中“省”的前面的那些字符串来做条件,这样后面也就不用变了。

--------------------------------------------------------------------------------------------------
只是一个想法,试试看符不符合你的逻辑。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pingfeiyuan
2011-04-11 · TA获得超过4171个赞
知道小有建树答主
回答量:1080
采纳率:46%
帮助的人:464万
展开全部
我建议这样处理:
给用户2个选择
第一:必须含有关键词 %"关键词"%
第二:查询类似关键词
{
拆分 关键词=“关”,“键”,“关键”.......
再用一个循环 like 查询出来
}

这样可以给客户选择的余地
也可以 把匹配出来的 数据按 “关”,“键”,“关键”....... 分组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查理·弗朗西斯37265
2011-04-09 · TA获得超过125个赞
知道小有建树答主
回答量:78
采纳率:100%
帮助的人:94.5万
展开全部
新建2个表
第一表纯粹储存关键词 就2个字段 id,自增主键 keyword 文本

第二个表 储存关键词和你数据表的对应关系 俩字段 kid (对应第一个表的id) ,did(对应你数据表的主键)

搜索的时候直接从第二个表里面搜
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柴沛文00K
2011-04-08 · TA获得超过635个赞
知道小有建树答主
回答量:1203
采纳率:0%
帮助的人:195万
展开全部
I can see your point doing that, what you can do in your query, adding "%fujian%" or "%fujianshen%"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式