<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> ///
/// 获取 aspnet_Profile中的属性值
///
///
private DataTable GetProfileProperty()
{
string sql = @"SELECT
[username]
, [rolename]
, [propertynames]
, [propertyvaluesstring]
FROM [VUserProfile]";
DataSet ds = DBUtility.getDataSet(sql);
//NID,Company,PID,TrueName是自定义的用户属性
DataTable dt = new DataTable();
DataColumn UserName = new DataColumn("UserName", typeof(string));
DataColumn RoleName = new DataColumn("RoleName", typeof(string));
DataColumn NID = new DataColumn("NID", typeof(string));
DataColumn Company = new DataColumn("Company", typeof(string));
DataColumn PID = new DataColumn("PID", typeof(string));
DataColumn TrueName = new DataColumn("TrueName", typeof(string));
dt.Columns.Add(UserName);
dt.Columns.Add(RoleName);
dt.Columns.Add(NID);
dt.Columns.Add(Company);
dt.Columns.Add(PID);
dt.Columns.Add(TrueName);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow row = ds.Tables[0].Rows[i];
string username = row["username"].ToString();
string rolename = row["rolename"].ToString();
string propertynames = row["propertynames"].ToString().Replace(":S:", "*");
string propertyvaluesstring = row["propertyvaluesstring"].ToString();
DataRow dtrow = dt.NewRow();
dtrow["UserName"] = username;
dtrow["RoleName"] = rolename;
string[] p1 = propertynames.Split('*');
for (int j = 0; j < p1.Length - 1; j++)
{
string[] tmp = p1[j].Split(':');
string[] tmp2 = p1[j + 1].Split(':');
string propertyname = tmp[tmp.Length - 1];
string propertyvalue = propertyvaluesstring.Substring(int.Parse(tmp2[0]), int.Parse(tmp2[1]));
dtrow[propertyname] = propertyvalue;
}
dt.Rows.Add(dtrow);
}
return dt;
}