zoukankan      html  css  js  c++  java
  • 关于 没有从 DbType UInt16 到已知 SqlDbType 的映射。的Bug追踪.

    public override DbType DbType
    {
    get
    {
    return this.GetMetaTypeOnly().DbType;
    }
    set
    {
    MetaType type = this._metaType;
    if (((type == null) || (type.DbType != value)) || ((value == DbType.Date) || (value == DbType.Time)))
    {
    this.PropertyTypeChanging();
    this._metaType = MetaType.GetMetaTypeFromDbType(value);
    }
    }
    }

    上面是 SqlParameter 的DbType 源码.调用以下方法.

    internal static MetaType GetMetaTypeFromDbType(DbType target)
    {
    switch (target)
    {
    case DbType.AnsiString:
    return MetaVarChar;

    case DbType.Binary:
    return MetaVarBinary;

    case DbType.Byte:
    return MetaTinyInt;

    case DbType.Boolean:
    return MetaBit;

    case DbType.Currency:
    return MetaMoney;

    case DbType.Date:
    case DbType.DateTime:
    return MetaDateTime;

    case DbType.Decimal:
    return MetaDecimal;

    case DbType.Double:
    return MetaFloat;

    case DbType.Guid:
    return MetaUniqueId;

    case DbType.Int16:
    return MetaSmallInt;

    case DbType.Int32:
    return MetaInt;

    case DbType.Int64:
    return MetaBigInt;

    case DbType.Object:
    return MetaVariant;

    case DbType.Single:
    return MetaReal;

    case DbType.String:
    return MetaNVarChar;

    case DbType.Time:
    return MetaDateTime;

    case DbType.AnsiStringFixedLength:
    return MetaChar;

    case DbType.StringFixedLength:
    return MetaNChar;

    case DbType.Xml:
    return MetaXml;

    case DbType.DateTime2:
    return MetaDateTime2;

    case DbType.DateTimeOffset:
    return MetaDateTimeOffset;
    }
    throw ADP.DbTypeNotSupported(target, typeof(SqlDbType));
    }


    可以看到. 有些DbType 它没有处理, 直接抛出了错误.

    没有处理的DbType包括:

    SByte=14,
    UInt16=18,
    UInt32=19,
    UInt64=20,
    VarNumeric=21,

    个人觉着, 即使不需要, 做一下兼容性处理, 也不麻烦啊. 留下这么大一坑!

    alarm   作者:NewSea     出处:http://newsea.cnblogs.com/    QQ,MSN:iamnewsea@hotmail.com

      如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。
  • 相关阅读:
    docker-compose
    获取时区
    maven插件
    jquery_ui_api中文
    sax xpath读取xml字符串
    Ant打包
    [转]html5音乐播放器
    javax mail网址
    vbscript调用fso
    fso查找被删除的文件
  • 原文地址:https://www.cnblogs.com/newsea/p/2302198.html
Copyright © 2011-2022 走看看