查询数据库用到了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; }