ruder

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
   protected static object GetValueByType(PropertyInfo info, object obj)
        {
            object newObj = null;
            switch (info.PropertyType.Name.ToLower())
            {
                
                case "int16":
                    {
                        if (obj == DBNull.Value) {  newObj = 0; }
                        else{ try{ newObj = Int16.Parse(obj.ToString()); }catch{ newObj = 0;} }
                        break;
                    }
                case "int":
                case "int32":
                    {
                        if (obj == DBNull.Value) { newObj = 0; }
                        else { try { newObj = int.Parse(obj.ToString()); } catch { newObj = 0; } }
                        break;
                    }
                case "int64":
                    {
                        if (obj == DBNull.Value) { newObj = 0; }
                        else { try { newObj = Int64.Parse(obj.ToString()); } catch { newObj = 0; } }
                        break;
                    }
                case "single":
                    {
                        if (obj == DBNull.Value) { newObj = 0; }
                        else { try { newObj = float.Parse(obj.ToString()); } catch { newObj = 0; } }
                        break;
                    }
                case "double":
                    {
                        if (obj == DBNull.Value) { newObj = 0; }
                        else { try { newObj = double.Parse(obj.ToString()); } catch { newObj = 0; } }
                        break;
                    }
                case "datetime":
                    {
                        if (obj == DBNull.Value){   newObj = DateTime.Parse("1900/1/"); }
                        else { try{ newObj = DateTime.Parse(obj.ToString()); }catch {  newObj = DateTime.Parse("1900/1/");  }}
                        break;
                    }
                case "bool":
                case "boolean":
                    {
                        if (obj == DBNull.Value) { newObj = false; }
                        else{ try {  newObj = bool.Parse(obj.ToString()); } catch  {  newObj = false; } }
                        break;
                    }
                default:
                    {
                        if (obj == DBNull.Value) { newObj = String.Empty;}
                        else{try { newObj = obj.ToString(); } catch { newObj = String.Empty;}}
                        break;
                    }
            }
            return newObj;
        }
        
urn null;
        }
posted on 2009-04-29 17:41  徐境  阅读(199)  评论(0)    收藏  举报