写程序要严谨,判断对象为null的情况

     系统很多地方在获取参数,返回对象等方式上没有判断对象为null的情况,这样造成外网一搞就出现黄页!(开发人员写程序不严谨造成)。

例如在写实体类的时候,我们要判断类型是否为空的情况,这里的判断顺序也不可颠倒。

public  QsqAdminLog(IDataReader dr)
        {
            _id 
=  Convert.ToInt32(dr[ " LogId " ]);
            UserId 
=  Convert.ToInt32(dr[ " UserId " ]);
            
if (dr[ " LoginTime " ] != null   &&  dr[ " LoginTime " ].ToString()  !=   "" )
            {
                LoginTime 
=  Convert.ToDateTime(dr[ " LoginTime " ]);
            }
            
if (dr[ " LoginOutTime " ] != null   &&  dr[ " LoginOutTime " ].ToString()  !=   ""   )
            {
                LoginOutTime 
=  Convert.ToDateTime(dr[ " LoginOutTime " ]);
            }
        
            UserName 
=  dr[ " UserName " ] == null ? "" :dr[ " UserName " ].ToString();
        }

SqlDataProvider里如果有日期类型的话,也需要判断

cmd.Parameters.Add( " @LoginTime " ,SqlDbType.DateTime).Value  =  lr.LoginTime.Tostring() ; // == "0001-1-1 0:00:00" ?DBNull.Value:lr.LoginTime;

你可能感兴趣的:(null)