語言

SqlMetaData 類別

定義

指定物件 SqlDataRecord 所使用的欄位的元資料資訊。 此類別無法獲得繼承。

public ref class SqlMetaData sealed
public sealed class SqlMetaData
type SqlMetaData = class
Public NotInheritable Class SqlMetaData
繼承
SqlMetaData

範例

以下範例展示了建立多個 SqlMetaData 物件,描述記錄的欄位元資料,以及產生記錄串流 SqlDataRecord 。 這些SqlDataRecord記錄可透過將方法的回傳值指派至Value屬性,作為表值參數串流至 SQL Server。

using System;
using System.Collections.Generic;
using System.Data;
using Microsoft.Data.SqlClient.Server;

public static IEnumerable<SqlDataRecord> ReturnNewRecords()
{
    // Variables.
    SqlMetaData column1Info;
    SqlMetaData column2Info;
    SqlMetaData column3Info;
    SqlDataRecord record;

    // Create the column metadata.
    column1Info = new SqlMetaData("Column1", SqlDbType.NVarChar, 12);
    column2Info = new SqlMetaData("Column2", SqlDbType.Int);
    column3Info = new SqlMetaData("Column3", SqlDbType.DateTime);

    // Create a new record with the column metadata.      
    record = new SqlDataRecord(new SqlMetaData[] { 
      column1Info,
      column2Info,
      column3Info });

    // Set the fields of the first record and stream it to SQL Server.
    record.SetString(0, "Hello World!");
    record.SetInt32(1, 42);
    record.SetDateTime(2, DateTime.Now);
    yield return record;

    // Set the fields of the second record and stream it to SQL Server.
    record.SetInt32(1, 0);
    yield return record;
}

備註

SqlMetaData實例通常建置一次,然後重複使用來構建多個SqlDataRecord物件,這些物件會以資料表值參數的形式串流到 SQL Server。 欲了解更多資訊,請參閱 Table-Valued 參數。

建構函式

名稱 Description
SqlMetaData(String, SqlDbType, Boolean, Boolean, SortOrder, Int32)

初始化一個以指定欄位名稱和預設伺服器的新類別實例 SqlMetaData 。 這種形式的建構函式支援資料表值參數,方法是透過允許您指定資料表值參數中的資料行是否為唯一、資料行的排序次序,以及排序資料行的序數。

SqlMetaData(String, SqlDbType, Byte, Byte, Boolean, Boolean, SortOrder, Int32)

初始化一個新的類別實例 SqlMetaData ,並以指定的欄位名稱、類型、精確度、規模及伺服器預設值。 這種形式的建構函式支援資料表值參數,方法是透過允許您指定資料表值參數中的資料行是否為唯一、資料行的排序次序,以及排序資料行的序數。

SqlMetaData(String, SqlDbType, Byte, Byte)

初始化一個類別的新實例 SqlMetaData ,並以指定的欄位名稱、類型、精確度和縮放值。

SqlMetaData(String, SqlDbType, Int64, Boolean, Boolean, SortOrder, Int32)

初始化一個以指定欄位名稱、類型、最大長度及伺服器預設值的新類別實例 SqlMetaData 。 這種形式的建構函式支援資料表值參數,方法是透過允許您指定資料表值參數中的資料行是否為唯一、資料行的排序次序,以及排序資料行的序數。

SqlMetaData(String, SqlDbType, Int64, Byte, Byte, Int64, SqlCompareOptions, Type, Boolean, Boolean, SortOrder, Int32)

初始化一個新的類別實例 SqlMetaData ,並以指定的欄位名稱、類型、最大長度、精確度、縮放、區域 ID、比較選項及使用者定義型別(UDT)初始化。 這種形式的建構函式支援資料表值參數,方法是透過允許您指定資料表值參數中的資料行是否為唯一、資料行的排序次序,以及排序資料行的序數。

SqlMetaData(String, SqlDbType, Int64, Byte, Byte, Int64, SqlCompareOptions, Type)

初始化一個新的類別實例 SqlMetaData ,並以指定的欄位名稱、類型、最大長度、精確度、縮放、區域 ID、比較選項及使用者定義型別(UDT)初始化。

SqlMetaData(String, SqlDbType, Int64, Int64, SqlCompareOptions, Boolean, Boolean, SortOrder, Int32)

初始化一個新實例 SqlMetaData ,使用指定的欄位名稱、類型、最大長度、位置、比較選項及伺服器預設值。 這種形式的建構函式支援資料表值參數,方法是透過允許您指定資料表值參數中的資料行是否為唯一、資料行的排序次序,以及排序資料行的序數。

SqlMetaData(String, SqlDbType, Int64, Int64, SqlCompareOptions)

初始化一個新實例 SqlMetaData ,並以指定的欄位名稱、類型、最大長度、位置及比較選項。

SqlMetaData(String, SqlDbType, Int64)

初始化一個以指定欄位名稱、類型及最大長度的新類別實例 SqlMetaData 。

SqlMetaData(String, SqlDbType, String, String, String, Boolean, Boolean, SortOrder, Int32)

初始化一個新實例 SqlMetaData ,使用指定的欄位名稱、資料庫名稱、擁有結構、物件名稱及預設伺服器。 這種形式的建構函式支援資料表值參數,方法是透過允許您指定資料表值參數中的資料行是否為唯一、資料行的排序次序,以及排序資料行的序數。

SqlMetaData(String, SqlDbType, String, String, String)

初始化一個新的類別實例 SqlMetaData ,包含指定的欄位名稱、類型、資料庫名稱、擁有結構及物件名稱。

SqlMetaData(String, SqlDbType, Type, String, Boolean, Boolean, SortOrder, Int32)

初始化一個新的類別實例SqlMetaData,使用指定的欄位名稱、類型、使用者定義類型、SQL Server 類型及伺服器預設值。 這種形式的建構函式支援資料表值參數,方法是透過允許您指定資料表值參數中的資料行是否為唯一、資料行的排序次序,以及排序資料行的序數。

SqlMetaData(String, SqlDbType, Type, String)

初始化一個新的類別實例SqlMetaData,使用指定的欄位名稱、使用者定義型別(UDT)及 SQL Server 型別。

SqlMetaData(String, SqlDbType, Type)

初始化一個新的類別實例 SqlMetaData ,並以指定的欄位名稱、型別及使用者定義型別(UDT)初始化。

SqlMetaData(String, SqlDbType)

初始化一個以指定欄位名稱與型別的類別新實例 SqlMetaData 。

屬性

名稱 Description
CompareOptions

取得欄位或參數所使用的比較規則。

DbType

取得欄位或參數的資料型態。

IsUniqueKey

表示表值參數中的欄位是否唯一。

LocaleId

取得欄位或參數的 locale ID。

Max

取得 TEXT、NTEXT 和 IMAGE 資料類型的長度。

MaxLength

取得欄位或參數的最大長度。

Name

取得欄位或參數的名稱。

Precision

取得欄位或參數的精度。

Scale

取得欄位或參數的縮放。

SortOrder

回傳欄位的排序順序。

SortOrdinal

回傳排序欄的序數。

SqlDbType

取得欄位或參數的資料型態。

Type

取得通用語言執行時(CLR)型態的使用者定義型別(UDT)。

TypeName

取得使用者定義型別(UDT)或實例所代表的 SQL Server 型別的三部分名稱。

UseServerDefault

報告此欄位是否應使用預設伺服器值。

XmlSchemaCollectionDatabase

取得該 XML 實例結構集合所在資料庫名稱。

XmlSchemaCollectionName

取得此 XML 實例的結構集合名稱。

XmlSchemaCollectionOwningSchema

取得擁有的關聯式結構,該結構集合位於此 XML 實例的集合中。

方法

名稱 Description
Adjust(Boolean)

驗證指定 Boolean 值與元資料相符,必要時調整值。

Adjust(Byte)

驗證指定 Byte 值與元資料相符,必要時調整值。

Adjust(Byte[])

驗證指定的數值陣列 Byte 與元資料的關聯,並在必要時調整該值。

Adjust(Char)

驗證指定 Char 值與元資料相符,必要時調整值。

Adjust(Char[])

驗證指定的數值陣列 Char 與元資料的關聯,並在必要時調整該值。

Adjust(DateTime)

驗證指定 DateTime 值與元資料相符,必要時調整值。

Adjust(DateTimeOffset)

驗證指定 DateTimeOffset 值與元資料相符,必要時調整值。

Adjust(Decimal)

驗證指定 Decimal 值與元資料相符,必要時調整值。

Adjust(Double)

驗證指定 Double 值與元資料相符,必要時調整值。

Adjust(Guid)

驗證指定 Guid 值與元資料相符,必要時調整值。

Adjust(Int16)

驗證指定 Int16 值與元資料相符,必要時調整值。

Adjust(Int32)

驗證指定 Int32 值與元資料相符,必要時調整值。

Adjust(Int64)

驗證指定 Int64 值與元資料相符,必要時調整值。

Adjust(Object)

驗證指定 Object 值與元資料相符,必要時調整值。

Adjust(Single)

驗證指定 Single 值與元資料相符,必要時調整值。

Adjust(SqlBinary)

驗證指定 SqlBinary 值與元資料相符,必要時調整值。

Adjust(SqlBoolean)

驗證指定 SqlBoolean 值與元資料相符,必要時調整值。

Adjust(SqlByte)

驗證指定 SqlByte 值與元資料相符,必要時調整值。

Adjust(SqlBytes)

驗證指定 SqlBytes 值與元資料相符,必要時調整值。

Adjust(SqlChars)

驗證指定 SqlChars 值與元資料相符,必要時調整值。

Adjust(SqlDateTime)

驗證指定 SqlDateTime 值與元資料相符,必要時調整值。

Adjust(SqlDecimal)

驗證指定 SqlDecimal 值與元資料相符,必要時調整值。

Adjust(SqlDouble)

驗證指定 SqlDouble 值與元資料相符,必要時調整值。

Adjust(SqlGuid)

驗證指定 SqlGuid 值與元資料相符,必要時調整值。

Adjust(SqlInt16)

驗證指定 SqlInt16 值與元資料相符,必要時調整值。

Adjust(SqlInt32)

驗證指定 SqlInt32 值與元資料相符,必要時調整值。

Adjust(SqlInt64)

驗證指定 SqlInt64 值與元資料相符,必要時調整值。

Adjust(SqlMoney)

驗證指定 SqlMoney 值與元資料相符,必要時調整值。

Adjust(SqlSingle)

驗證指定 SqlSingle 值與元資料相符,必要時調整值。

Adjust(SqlString)

驗證指定 SqlString 值與元資料相符,必要時調整值。

Adjust(SqlXml)

驗證指定 SqlXml 值與元資料相符,必要時調整值。

Adjust(String)

驗證指定 String 值與元資料相符,必要時調整值。

Adjust(TimeSpan)

驗證指定 TimeSpan 值與元資料相符,必要時調整值。

InferFromValue(Object, String)

從指定的物件推斷元資料,並將其作為 SqlMetaData 實例回傳。

適用於