SqlMetaData Constructor (String, SqlDbType, Int64, Byte, Byte, Int64, SqlCompareOptions, Type)
Initializes a new instance of the SqlMetaData class with the specified column name, type, maximum length, precision, scale, locale ID, compare options, and user-defined type (UDT).
Assembly: System.Data (in System.Data.dll)
public: SqlMetaData( String^ name, SqlDbType dbType, long long maxLength, unsigned char precision, unsigned char scale, long long locale, SqlCompareOptions compareOptions, Type^ userDefinedType )
Parameters
- name
- Type: System::String
The name of the column.
- dbType
- Type: System.Data::SqlDbType
The SQL Server type of the parameter or column.
- maxLength
- Type: System::Int64
The maximum length of the specified type.
- precision
- Type: System::Byte
The precision of the parameter or column.
- scale
- Type: System::Byte
The scale of the parameter or column.
- locale
- Type: System::Int64
The locale ID of the parameter or column.
- compareOptions
- Type: System.Data.SqlTypes::SqlCompareOptions
The comparison rules of the parameter or column.
- userDefinedType
- Type: System::Type
A Type instance that points to the UDT.
| Exception | Condition |
|---|---|
| ArgumentNullException | The Name is nullptr. |
| ArgumentException | A SqlDbType that is not allowed was passed to the constructor as dbType, or userDefinedType points to a type that does not have SqlUserDefinedTypeAttribute declared. |
Only the following are allowed to be passed to the constructor as dbType: BigInt, Bit, BitInt, DateTime, Decimal, Float, Image, Int, Money, Ntext, Numeric, Real, SmallDateTime, SmallInt, SmallMoney, Text, TimeStamp, TinyInt, UniqueIdentifier, Variant, Xml.
The following are the default values assigned to dbType, depending on the SqlDbType (the XmlSchemaCollectionDatabase, XmlSchemaCollectionName, XmlSchemaCollectionOwningSchema, and Type properties are set to nullptr):
SqlDbType | Maximum length | Precision | Scale | Locale | Compare options |
|---|---|---|---|---|---|
BigInt | 8 | 19 | 0 | 0 | None |
Bit | 1 | 1 | 0 | 0 | None |
DateTime | 8 | 23 | 3 | 0 | None |
Decimal | 9 | 18 | 0 | 0 | None |
Float | 8 | 53 | 0 | 0 | None |
Image | Max (-1) | 0 | 0 | 0 | None |
Int | 4 | 10 | 0 | 0 | None |
Money | 8 | 19 | 4 | 0 | None |
Ntext | Max (-1) | 0 | 0 | <thread> | IgnoreCase, IgnoreKanaType, IgnoreWidth |
Real | 4 | 24 | 0 | 0 | None |
Row | <number of columns> | 0 | 0 | 0 | None |
SmallDateTime | 4 | 16 | 0 | 0 | None |
SmallInt | 2 | 5 | 0 | 0 | None |
SmallMoney | 4 | 10 | 4 | 0 | None |
Text | Max (-1) | 0 | 0 | <thread> | IgnoreCase, IgnoreKanaType, IgnoreWidth |
TimeStamp | 8 | 0 | 0 | 0 | None |
TinyInt | 1 | 3 | 0 | 0 | None |
UniqueIdentifier | 16 | 0 | 0 | 0 | None |
UDT | <Max length of the type> or -1 | 0 | 0 | 0 | None |
Variant | 8016 | 0 | 0 | 0 | None |
Xml | Max (-1) | 0 | 0 | 0 | IgnoreCase, IgnoreKanaType, IgnoreWidth |
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.