黑马程序员技术交流社区
标题:
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
province.ProId = reader.GetInt32(reader.GetOrdinal("proId"));
复制代码
这里,先取得了 proId这一列 在 reader 中的序号,然后通过 reader 的 getInt32方法 把数据取出来
如果要取的数据不是Int类型的,reader.GetInt32()会抛出异常
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