栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

检查SqlDataReader对象中的列名

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

检查SqlDataReader对象中的列名

public static class DataRecordExtensions{    public static bool HasColumn(this IDataRecord dr, string columnName)    {        for (int i=0; i < dr.FieldCount; i++)        { if (dr.GetName(i).Equals(columnName, StringComparison.InvariantCultureIgnoreCase))     return true;        }        return false;    }}

Exception
像在其他答案中一样,将s用于控制逻辑被认为是不好的做法,并且会降低性能。它还会将误报发送给抛出的#个异常的事件探查器,上帝可以帮助任何将调试器设置为打破抛出的异常的人。

GetSchemaTable()也是许多答案中的另一个建议。这不是检查字段是否存在的首选方法,因为并不是所有版本都实现了它(它是抽象的,在某些版本的dotnetcore中抛出NotSupportedException)。GetSchemaTable也是性能过高的明智之选,因为如果您查看源代码,它是一个非常繁重的函数。

如果您经常使用这些字段,那么遍历这些字段可能会降低性能,并且可能需要考虑缓存结果。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号