首页 > 数据库技术 > 详细

在数据库实现一个搜索功能

时间:2015-10-15 17:52:32      阅读:374      评论:0      收藏:0      [点我收藏+]

Insus.NET在应用开发时,用过很多不同的方法来为ASP.NET实现搜索功能。

写SQL语句在程序里,或写成类别能让多个程序能共用,也有直接把条件表达式传至数据库中进行处理的。
Insus Search Utility Ver2http://www.cnblogs.com/insus/p/3223940.html

如何在Web网站实现搜索功能http://www.cnblogs.com/insus/archive/2011/03/30/1999795.html

实现一个搜索功能思路http://www.cnblogs.com/insus/archive/2013/04/06/3002054.html

搜索与动态显示字段http://www.cnblogs.com/insus/archive/2010/06/17/1759672.html

以表达式作为参数传入SQL的存储过程中去http://www.cnblogs.com/insus/articles/1360985.html

 

以上不管怎样的形式,最终是以SQL的表达式来传入至数据库中。此次Insus.NET想使用另外一种情形来实现,数据库是使用SQL 2008或以上。
首先在数据库中定义一个类型[dbo].[udt_SearchCondition]:
技术分享

也可以说是以前是把这个写成一个类在程序中,现在是写在SQL中。
当用户使用这个时,不必写太多东西(代码)。举个例子,如下面这几个文本框作为搜索条件,那我们怎样把这个值转入数据库中去,并使用前面所写的自定义表[dbo].udt_SearchCondition]类型:
技术分享

上面前三个条件均是下拉列表,当然是文件框Textbox是也没有问题,先判断一下,如果不为空,那就写成一个记录,插入DataTable中,到最后把DataTable传入数据库去。还是两个日期的文本框,如果用户只填写第一个框,那就是查询大于等于写日期的记录;如果只填写最后一个文本框,那说明用户是查询小于等于这个日期的记录;如果两个文本框均填,那就是查询这个日期之间的记录。

上面你会看一个方法objSixS.GetCustomizatorStatisticReport():
技术分享

 

上面有一个BizSP sp = new BizSP:
可以参考这个:《程序与数据库之间的连接桥梁和逻辑处理http://www.cnblogs.com/insus/p/4156735.html

还在一个存储过程usp_SixS_SearchForStatistics:
技术分享


上面的存储程中,还有另外一个[dbo].[udf_SearchConditionStatement](),这个技术分享


OK,做一些简单的搜索就是这样简单。

 

在数据库实现一个搜索功能

原文:http://www.cnblogs.com/insus/p/4873472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!