为什么reader.GetOrdinal(“FieldName”)会引发异常?
问题描述:
,这将引发异常,当现场不存在:为什么reader.GetOrdinal(“FieldName”)会引发异常?
reader.IsDbNull(reader.GetOrdinal("FieldName"))
=>爆炸
为什么不返回-1?
答
我会尽量猜在这里。
该方法的常用的模式是调用GetOrdinal列名,然后调用的getXXX()方法给定序比通过做每次列的名称搜索速度更快。
因此,在这里例外的情况下,我们快速失败,我们不能忽视它。 Wihtout异常我们将尝试找到一个不存在的列,然后尝试按给定的序号找到一个字段(不检查-1,在这种情况下很容易省略),只有在这里我们才会意识到出现了问题几步之前(甚至可能会有太多的步骤)。
遵循你的逻辑...为什么我们需要例外呢? – 2011-02-03 14:20:18