1
,這將引發異常,當現場不存在:爲什麼reader.GetOrdinal(「FieldName」)會引發異常?
reader.IsDbNull(reader.GetOrdinal("FieldName"))
=>爆炸
爲什麼不返回-1?
,這將引發異常,當現場不存在:爲什麼reader.GetOrdinal(「FieldName」)會引發異常?
reader.IsDbNull(reader.GetOrdinal("FieldName"))
=>爆炸
爲什麼不返回-1?
我會盡量猜在這裏。
該方法的常用的模式是調用GetOrdinal列名,然後調用的getXXX()方法給定序比通過做每次列的名稱搜索速度更快。
因此,在這裏例外的情況下,我們快速失敗,我們不能忽視它。 Wihtout異常我們將嘗試找到一個不存在的列,然後嘗試按給定的序號找到一個字段(不檢查-1,在這種情況下很容易省略),只有在這裏我們纔會意識到出現了問題幾步之前(甚至可能會有太多的步驟)。
遵循你的邏輯...爲什麼我們需要例外呢? – 2011-02-03 14:20:18