GetOrdinal 的用法是定位数据域读取不同的数据类型,也就是说可以根据名字来获取相应的数据类型而不需要转换,而通过sqlDataReader[""]需要 数据转换 ,如获取int类型的数据,可以使用 int age=dr.GetOrdinal("age"); int age=Convert.ToInt32(dr["age"]);