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;

    }

 

你可能感兴趣的:(like)