检查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
}
}
public static bool IsColumnExists(this IDataReader dataReader, string columnName) { bool retVal = false; try { dataReader.GetSchemaTable().DefaultView.RowFilter = string.Format("ColumnName= '{0}'", columnName); if (dataReader.GetSchemaTable().DefaultView.Count > 0) { retVal = true; } } catch (Exception ex) { throw; } return retVal; }
以上是关于检查SqlDataReader列是否存在(扩展方法)的主要内容,如果未能解决你的问题,请参考以下文章
当获取相似数据时,使用不同方法调用不同sp,但是使用同一个方法去用IIDataReader或者SqlDataReader读取数据时需要判断column name是否存在。
SqlDataReader 检查空值的最佳方法 -sqlDataReader.IsDBNull vs DBNull.Value