A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑根旺 中级黑马   /  2012-9-25 09:55  /  1309 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

province.ProId = reader.GetInt32(reader.GetOrdinal("proId"));和province.ProId = Convert.ToInt32(reader["proId"]);
请问一下这两种写法的区别?

1 个回复

倒序浏览
  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()这个方法会抛异常



有什么区别?不知道。。。。。。。。。过程是这样的,自己看吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马