在使用ado.net的SqlDataReader對象時,如果SqlDataReader實例對象中沒有對應的欄位,則會在那一行報錯.而SqlDataReader類又沒有判斷是否存在指定欄位的方法,怎麼辦呢? 我們只好自己寫個判斷是否包含指定欄位的方法了... 上代碼: 本人在網上搜索了很多方法,個人認 ...
在使用ado.net的SqlDataReader對象時,如果SqlDataReader實例對象中沒有對應的欄位,則會在那一行報錯.而SqlDataReader類又沒有判斷是否存在指定欄位的方法,怎麼辦呢?
我們只好自己寫個判斷是否包含指定欄位的方法了...
上代碼:
1 /// <summary> 2 /// SqlDataReader對象是否包含此欄位 3 /// </summary> 4 /// <param name="dataReader">SqlDataReader實例對象</param> 5 /// <param name="columnName">欄位名稱</param> 6 /// <returns></returns> 7 private static bool readerExists(SqlDataReader dataReader, string columnName) 8 { 9 for (int i = 0; i < dataReader.FieldCount; i++) 10 { 11 if (dataReader.GetName(i).Equals(columnName)) 12 { 13 return true; 14 }; 15 } 16 return false; 17 }
本人在網上搜索了很多方法,個人認為這個方法效率相較於其他方法比較理想,而且一目瞭然,比較好理解.當然,如果有更好的方法,歡迎大家在評論區分享出來.