System.Data.SqlClient.MetaType.GetMetaTypeFromSqlDbType C# (CSharp) Method

GetMetaTypeFromSqlDbType() static private method

static private GetMetaTypeFromSqlDbType ( SqlDbType target, bool isMultiValued ) : MetaType
target SqlDbType
isMultiValued bool
return MetaType
        internal static MetaType GetMetaTypeFromSqlDbType(SqlDbType target, bool isMultiValued)
        { // WebData 113289
            switch (target)
            {
                case SqlDbType.BigInt: return s_metaBigInt;
                case SqlDbType.Binary: return s_metaBinary;
                case SqlDbType.Bit: return s_metaBit;
                case SqlDbType.Char: return s_metaChar;
                case SqlDbType.DateTime: return s_metaDateTime;
                case SqlDbType.Decimal: return MetaDecimal;
                case SqlDbType.Float: return s_metaFloat;
                case SqlDbType.Image: return MetaImage;
                case SqlDbType.Int: return s_metaInt;
                case SqlDbType.Money: return s_metaMoney;
                case SqlDbType.NChar: return s_metaNChar;
                case SqlDbType.NText: return MetaNText;
                case SqlDbType.NVarChar: return MetaNVarChar;
                case SqlDbType.Real: return s_metaReal;
                case SqlDbType.UniqueIdentifier: return s_metaUniqueId;
                case SqlDbType.SmallDateTime: return s_metaSmallDateTime;
                case SqlDbType.SmallInt: return s_metaSmallInt;
                case SqlDbType.SmallMoney: return s_metaSmallMoney;
                case SqlDbType.Text: return MetaText;
                case SqlDbType.Timestamp: return s_metaTimestamp;
                case SqlDbType.TinyInt: return s_metaTinyInt;
                case SqlDbType.VarBinary: return MetaVarBinary;
                case SqlDbType.VarChar: return s_metaVarChar;
                case SqlDbType.Variant: return s_metaVariant;
                case (SqlDbType)TdsEnums.SmallVarBinary: return s_metaSmallVarBinary;
                case SqlDbType.Xml: return MetaXml;
                case SqlDbType.Udt: return MetaUdt;
                case SqlDbType.Structured:
                    if (isMultiValued)
                    {
                        return s_metaTable;
                    }
                    else
                    {
                        return s_metaSUDT;
                    }
                case SqlDbType.Date: return s_metaDate;
                case SqlDbType.Time: return MetaTime;
                case SqlDbType.DateTime2: return s_metaDateTime2;
                case SqlDbType.DateTimeOffset: return MetaDateTimeOffset;
                default: throw SQL.InvalidSqlDbType(target);
            }
        }

Usage Example

Exemplo n.º 1
0
        internal void SetCharsLength(long length)
        {
            Debug.Assert(
                SmiXetterAccessMap.IsSetterAccessValid(_metaData, SmiXetterTypeCode.XetChars));
            CheckSettingOffset(length);

            if (0 == length)
            {
                if (_isPlp)
                {
                    Debug.Assert(!_plpUnknownSent, "A plpUnknown has already been sent before setting length to zero.");

                    _stateObj.Parser.WriteLong(0, _stateObj);
                    _plpUnknownSent = true;
                }
                else
                {
                    Debug.Assert(!MetaType.GetMetaTypeFromSqlDbType(_metaData.SqlDbType, _metaData.IsMultiValued).IsLong,
                                 "We're assuming long length types are sent as PLP. SqlDbType = " + _metaData.SqlDbType);

                    _stateObj.Parser.WriteShort(0, _stateObj);
                }
            }
            if (_plpUnknownSent)
            {
                _stateObj.Parser.WriteInt(TdsEnums.SQL_PLP_CHUNK_TERMINATOR, _stateObj);
                _plpUnknownSent = false;
            }
            _encoder = null;

#if DEBUG
            _currentOffset = 0;
#endif
        }
All Usage Examples Of System.Data.SqlClient.MetaType::GetMetaTypeFromSqlDbType