SQLHelper Like

本文详细解析了使用SQLHelper工具类时LIKE关键字的特殊用法,包括创建匹配值的方法和如何在查询中应用LIKE条件。通过示例代码展示了如何在参数化查询中正确使用LIKE操作符。

查询数据库用到了SQLHelper工具类,其中like的用法 相比有一点特别,代码如下:

 private string CreateLikeVlaue(string str)
    {
        return "%" + str + "%";
    }
    public DataTable GetDataTable11(string p1, string p2, string p3, string p4)
    {
        DataTable dt = null;
        SqlParameter[] ps = new SqlParameter[]{ new SqlParameter("@p1", CreateLikeVlaue(p1))
            ,new SqlParameter("@p2",CreateLikeVlaue(p2)), new SqlParameter("@p3",  CreateLikeVlaue(p3)),new SqlParameter("@p4",  CreateLikeVlaue(p4))};
        string strWhere = string.Empty;

        if (!string.IsNullOrEmpty(p1))
        {
            strWhere += " and a.Supplier1 like @p1";
        }
        if (!string.IsNullOrEmpty(p2))
        {
            strWhere += " and a.SName like @p2";
        }
        if (!string.IsNullOrEmpty(p3))
        {
            strWhere += " and a.Supplier2 like @p3";
        }

        if (!string.IsNullOrEmpty(p4))
        {
            strWhere += " and b.UserName like @p4";
        }

        string query = @"select a.Email, a.Supplier1, a.Supplier2,a.SName, 
            a.MobilePhone,a.CompanyPhone,a.IsApproved as 'Status',a.IsLockedOut as 'LockStatus',b.UserName as 'Account' 
             from aspnet_Membership a, aspnet_Users b where  a.UserId=b.UserId " + strWhere;

        try
        {
            DataSet ds = SGDataAccess.ExecuteDataset(MembershipConnString, CommandType.Text, query, ps);

            if (ds != null && ds.Tables.Count > 0)
            {
                dt = ds.Tables[0];
            }
        }
        catch (Exception ex)
        {
            Response.Write("Error: " + ex.Message + "<br/>");
        }
        return dt;
    }

 

转载于:https://www.cnblogs.com/gzh4455/archive/2012/11/20/2778516.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值