检查SqlDataReader列是否存在(扩展方法)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查SqlDataReader列是否存在(扩展方法)相关的知识,希望对你有一定的参考价值。

This snippet is "extension method" for IDataReader.
You can use this snippet below ;
I assume you have datareader like that
SqlDataReader dataReader = command.ExecuteReader();

if (dataReader.IsColumnExists("columnName"))
{
//do something
}


and also you should validation null value control if you work critical datas

if (dataReader.IsColumnExists("columName"))
{
if (dataReader["columName"] != DBNull.Value)
{
//do something
}
}
  1. public static bool IsColumnExists(this IDataReader dataReader, string columnName)
  2. {
  3. bool retVal = false;
  4.  
  5. try
  6. {
  7. dataReader.GetSchemaTable().DefaultView.RowFilter = string.Format("ColumnName= '{0}'", columnName);
  8. if (dataReader.GetSchemaTable().DefaultView.Count > 0)
  9. {
  10. retVal = true;
  11. }
  12. }
  13.  
  14. catch (Exception ex)
  15. {
  16.  
  17. throw;
  18. }
  19.  
  20. return retVal;
  21. }

以上是关于检查SqlDataReader列是否存在(扩展方法)的主要内容,如果未能解决你的问题,请参考以下文章