首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

从数据库读出来的数据如何转化为枚举类型

2012-06-03 
从数据库读出来的数据怎么转化为枚举类型using (SqlDataReader drDBHelper.Select(UP_T_User_GetModel,

从数据库读出来的数据怎么转化为枚举类型
using (SqlDataReader dr=DBHelper.Select("UP_T_User_GetModel",parameters))
  {
  if (dr.Read())
  {
  User user = new User();
  user.UserID = userID;
  user.UserPwd = dr["userPwd"].ToString();
  Department dept=new Department();
  dept.DeptID=Convert.ToInt16(dr["deptID"]);
  dept.DeptName = dr["deptName"].ToString();
  user.Department = dept;
  if(!dr["createdTime"].ToString().Trim().Equals(""))
  user.CreatedTime =Convert.ToDateTime( dr["createdTime"]);
  user.LastLoginIP = dr["lastLoginIP"].ToString();
  if(!dr["lastLoginTime"].ToString().Trim().Equals(""))
  user.LastLoginTime = Convert.ToDateTime(dr["lastLoginTime"]);
  //user.Locked = Convert.ToBoolean(dr["locked"]);
  user.Name = dr["name"].ToString();
  user.RightList =StringHelper.CreateStrList(dr["right"].ToString());
  user.Sex = (Sex)dr["sex"]; //Sex [code=C#][/code]为枚举类型
  return user;
  }
  else
  return null;
  }
这是源码

[解决办法]

C# code
user.Sex = (Sex)Convert.ToInt32(dr["sex"])
[解决办法]
C# code
Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。Enum 提供一些实用的静态方法:(1)比较枚举类的实例的方法(2)将实例的值转换为其字符串表示形式的方法(3)将数字的字符串表示形式转换为此类的实例的方法(4)创建指定枚举和值的实例的方法。举例:enum Colors { Red, Green, Blue, Yellow };Enum-->String(1)利用Object.ToString()方法:如Colors.Green.ToString()的值是"Green"字符串;(2)利用Enum的静态方法GetName与GetNames:public static string GetName(Type enumType,Object value)public static string[] GetNames(Type enumType)例如:Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors), Colors.Blue))的值都是"Blue"Enum.GetNames(typeof(Colors))将返回枚举字符串数组。String-->Enum(1)利用Enum的静态方法Parse:public static Object Parse(Type enumType,string value)例如:(Colors)Enum.Parse(typeof(Colors), "Red")Enum-->Int(1)因为枚举的基类型是除 Char 外的整型,所以可以进行强制转换。例如:(int)Colors.Red, (byte)Colors.GreenInt-->Enum(1)可以强制转换将整型转换成枚举类型。例如:Colors color = (Colors)2 ,那么color即为Colors.Blue(2)利用Enum的静态方法ToObject。public static Object ToObject(Type enumType,int value)例如:Colors color = (Colors)Enum.ToObject(typeof(Colors), 2),那么color即为Colors.Blue判断某个整型是否定义在枚举中的方法:Enum.IsDefinedpublic static bool IsDefined(Type enumType,Object value)例如:Enum.IsDefined(typeof(Colors), n)) 

热点排行