SQLHelper 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/p/2778516.html