object 是什么类型的对象啊?
请问下面的语句:int   programcount   =   Convert.ToInt32(obj);为什么查询的数据为空时返回的programcount   为0;也就是说obj为没有定义的值但是赋值给programcount时为0,为什么呀?     
 public   void   test() 
 { 
             SqlConnection   conntest   =   new   SqlConnection      (System.Configuration.ConfigurationSettings.AppSettings[ "SqlConn "]); 
             SqlCommand   commtest   =   new   SqlCommand(); 
             string   sql   =    "select   programid   from   programdata   where   programid   =   10777 "; 
             object   obj=new   object(); 
             try 
             { 
                         commtest.CommandType   =CommandType.Text   ; 
                         commtest.CommandText   =sql; 
                         commtest.Connection   =   conntest; 
                         conntest.Open(); 
                         obj   =   commtest.ExecuteScalar(); 
                         obj   =   commtest.ExecuteScalar(); 
                         int   programcount   =   Convert.ToInt32(obj); 
                         Response.Write(programcount.ToString()); 
                         conntest.Close(); 
             } 
             catch(Exception   e) 
          { 
                      throw   new   Exception(e.Message); 
             } 
 }
------解决方案--------------------所在对象的基类都是object.
当不清楚一个对象的类型时,可用object来标记它.
------解决方案--------------------什么叫返回为空啊?只要你的Sql没错   
 如果没有适合条件的记录,将返回0   
 当然是0了
------解决方案--------------------所有对象的基类
------解决方案--------------------Convert.ToInt32的实现:   
 public static int ToInt32(object value) 
 { 
     if (value != null) 
     { 
         return ((IConvertible) value).ToInt32(null); 
     } 
     return 0; 
 }   
 为null的时候返回0     
------解决方案--------------------传说中的范型~任何类型的基类~其他的类型都是一层一层的继承他下来的~ 
 类型转换的时候~Int32把null转换为0
------解决方案--------------------obejct基类
------解决方案--------------------当object类返回的数据给整型赋值时如果为空,返回0,如果返回的数据赋值给字符串时如果为空,返回的为 " ".