Share via


データ型の処理

データは、定義済みの長さを持つ文字列、特定の精度を持つ数値、または独自のルール セットを持つ別のオブジェクトであるユーザー定義データ型など、さまざまな型およびサイズで表現されます。Microsoft SQL Server によって処理が正しく行われるよう、DataType オブジェクトによりデータの型が分類されます。DataType オブジェクトは、データを受け入れるオブジェクトに関連付けられています。次の SQL Server 管理オブジェクト (SMO) オブジェクトに渡すデータは、DataType オブジェクト プロパティによって定義されている必要があります。

データを受け入れるオブジェクトの DataType プロパティは、次のいくつかの方法で設定することができます。

  • 既定のコンストラクタを使用して、DataType オブジェクト プロパティを明示的に指定する。

  • オーバーロードされたコンストラクタを使用して、DataType プロパティをパラメータとして指定する。

  • オブジェクト コンストラクタ内で DataType インラインを指定する。

  • Int など、DataType クラスの静的メンバの 1 つを使用する。これによって、実際に DataType オブジェクトのインスタンスが返されます。

DataType オブジェクトには、データの型を定義するいくつかのプロパティがあります。たとえば、SqlDataType プロパティは SQL Server データ型を指定します。SQL Server データ型を表す定数値は SqlDataType 列挙にリストされます。これは、varchar、nchar、currency、integer、float、および datetime などのデータ型を参照します。

データ型を確立したら、そのデータに対して特定のプロパティを設定する必要があります。たとえば、nchar 型の場合、Length プロパティで文字列データの長さを設定する必要があります。これは、有効桁数と小数点以下桁数を指定する必要のある数値に対しても同様です。

UserDefinedDataType データ型および UserDefinedType データ型は、ユーザーによって定義されるデータの型の定義を含んでいるオブジェクトを参照します。UserDefinedDataType は、SqlDataType 列挙からの SQL Server データ型に基づいています。UserDefinedType は、Microsoft .NET データ型に基づいています。これらは、組織で定義されているビジネス ルールに従ってデータベースで頻繁に再利用される型のデータを表現していることが普通です。たとえば、複数の通貨を扱う会社では、金額や通貨基準を格納するデータ型が役に立ちます。

SqlDataType 列挙には、SQL Server がサポートするすべてのデータ型のリストが含まれています。

提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。詳細については、SQL Server オンライン ブックの「Visual Studio .NET で Visual Basic SMO プロジェクトを作成する方法」および「Visual Studio .NET で Visual C# SMO プロジェクトを作成する方法」を参照してください。

Visual Basic でのコンストラクタ内の指定による DataType オブジェクトの構築

このコード例では、コンストラクタを使用して各種の SQL Server データ型に基づいたデータ型のインスタンスを作成する方法を示しています。

注意

UserDefinedTypeUserDefinedDataType、および XML 型にはすべて、オブジェクトを識別するための名前の値が必要です。

'Declare a DataType object variable and define the data type in the constructor.
Dim dt As DataType
'For the decimal data type the following two arguements specify precision, and scale.
dt = New DataType(SqlDataType.Decimal, 10, 2)

Visual C# でのコンストラクタ内の指定による DataType オブジェクトの構築

このコード例では、コンストラクタを使用して各種の SQL Server データ型に基づいたデータ型のインスタンスを作成する方法を示しています。

注意

UserDefinedTypeUserDefinedDataType、および XML 型にはすべて、オブジェクトを識別するための名前の値が必要です。

{ 
//Declare a DataType object variable and define the data type in the constructor. 
DataType dt; 
//For the decimal data type the following two arguements specify precision, and scale. 
dt = new DataType(SqlDataType.Decimal, 10, 2); 
}

Visual Basic での既定のコンストラクタを使用した DataType オブジェクトの構築

このコード例では、既定のコンストラクタを使用して各種の SQL Server データ型に基づいたデータ型のインスタンスを作成する方法を示します。データ型の指定にはプロパティを使用します。

UserDefinedTypeUserDefinedDataType、および XML 型にはすべて、オブジェクトを識別する名前の値が必要です。

'Declare and create a DataType object variable.
Dim dt As DataType
dt = New DataType
'Define the data type by setting the SqlDataType property.
dt.SqlDataType = SqlDataType.VarChar
'The VarChar data type requires a value for the MaximumLength property.
dt.MaximumLength = 100

Visual C# での既定のコンストラクタを使用した DataType オブジェクトの構築

このコード例では、既定のコンストラクタを使用して各種の SQL Server データ型に基づいたデータ型のインスタンスを作成する方法を示します。データ型の指定にはプロパティを使用します。

UserDefinedTypeUserDefinedDataType、および XML 型にはすべて、オブジェクトを識別する名前の値が必要です。

{ 
//Declare and create a DataType object variable. 
DataType dt; 
dt = new DataType(); 
//Define the data type by setting the SqlDataType property. 
dt.SqlDataType = SqlDataType.VarChar; 
//The VarChar data type requires a value for the MaximumLength property. 
dt.MaximumLength = 100; 
}