您的位置:首页 > 其它

判断 DataReader 里面是否包含指定的列

2012-02-16 09:17 288 查看
用DataReader读取数据怎样判断当前记录的某列是否为空 :

//调用:

if (ReaderExists(dr, "Log_ID"))

model.Log_DoctorID = GetInt(dr["Log_ID"]);

/// <summary>

/// 判断 DataReader 里面是否包含指定的列

/// </summary>

/// <param name="dr"></param>

/// <param name="columnName"></param>

/// <returns></returns>

public static bool ReaderExists(DbDataReader dr, string columnName)

{

int count = dr.FieldCount;

for (int i = 0; i < count; i++)

{

if (dr.GetName(i).Equals(columnName))

{

return true;

}

}

return false;

}

/// <summary>

/// 判断 DataReader 里面是否包含指定的列

/// </summary>

/// <param name="dr"></param>

/// <param name="columnName"></param>

/// <returns></returns>

public static bool ReaderExists2(DbDataReader dr, string columnName)

{

dr.GetSchemaTable().DefaultView.RowFilter = "ColumnName= '" + columnName + "'";

return (dr.GetSchemaTable().DefaultView.Count > 0);

}

推荐使用第一种方式,基本不存在性能损耗
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: