asp.net中的多条件查询 hashtable
现为大家介绍一种用HashTable做的多条件查询,大家都知道.HashTable是包含键值对的,我们何不把要查询的条件用HashTable来封装了?然后再来遍历HashTable,不就可以了吗?有人会说,你怎么知道别人的查询条件是输入了几个了?很简单啊,因为HashTable的一个特性就是不能放入空值,,当有空值时就不用放入HashTable了,这样HashTable里面放的都是输入的要查询的条件!把HashTable的健值用来作为查询的条件就OK了!!!
[csharp]
/// <summary>
/// 根据条件哈希表,构造SQL语句中的AND条件子句
/// </summary>
/// <param name="conditionHash">条件哈希表</param>
/// <returns>AND关系条件子句</returns>
public static String GetConditionClause(Hashtable queryItems)
{
int Count = 0;
String Where = "";
//根据哈希表,循环生成条件子句
foreach (DictionaryEntry item in queryItems)
{
if (Count == 0)
Where = " Where ";
else
Where += " And ";
//根据查询列的数据类型,决定是否加单引号
if (item.Value.GetType().ToString() == "System.String" || item.Value.GetType().ToString() == "System.DateTime")
{
Where += item.Key.ToString()
+ " Like "
+ SqlStringConstructor.GetQuotedString("%"
+ item.Value.ToString()
+ "%");
}
else
{
Where += item.Key.ToString() + "= " + item.Value.ToString();
}
Count++;
}
return Where;
}
上一篇: 上海草根站长大会个人体心得:方向,盈利,诱惑,管理,融资
下一篇: PHP中二维数组排序问题
推荐阅读
-
sql中count或sum为条件的查询示例(sql查询count)
-
mysql进阶讲解之数据表中带OR的多条件查询
-
关于MyBatis 查询数据时属性中多对一的问题(多条数据对应一条数据)
-
asp.net中的多条件查询 hashtable
-
SQL Server查询条件IN中能否使用变量的示例详解
-
sqlserver和oracle中对datetime进行条件查询的一点区别小结
-
Laravel5中实现模糊匹配加多条件查询功能的方法
-
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
-
win2012中让IIS同时支持多版本ASP.NET 3.5/4.0/4.5的方法
-
mysql的5中查询子句之三having条件查询