黑马程序员技术交流社区

标题: DataReader读取数据写法的区别 [打印本页]

作者: 郑根旺    时间: 2012-9-25 09:55
标题: DataReader读取数据写法的区别
province.ProId = reader.GetInt32(reader.GetOrdinal("proId"));和province.ProId = Convert.ToInt32(reader["proId"]);
请问一下这两种写法的区别?
作者: 李阳Leo    时间: 2012-9-25 10:29
  1. province.ProId = reader.GetInt32(reader.GetOrdinal("proId"));
复制代码
这里,先取得了 proId这一列 在 reader 中的序号,然后通过 reader 的 getInt32方法 把数据取出来
如果要取的数据不是Int类型的,reader.GetInt32()会抛出异常
  1. province.ProId = Convert.ToInt32(reader["proId"]);
复制代码
而这里则把 reader 当成一个数组来用了,reader.Read()方法会把reader的位置指到当前行,它读出来的数据是这样的
xxx    xxx    xxx  ProId   xxx
123   123   123  456    123
reader["proId"] 通过“proId"这个key,找到了”456“这个value
这个value是一个object类型的,然后通过 Convert.ToInt32()这个方法转成int类型,如果不能转,Convert.ToInt32()这个方法会抛异常



有什么区别?不知道。。。。。。。。。过程是这样的,自己看吧





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2