Arbeiten mit Datentypen

Daten sind in vielen Typen und Größen verfügbar, beispielsweise als Zeichenfolge mit einer definierten Länge, als Zahl mit einer bestimmten Genauigkeit oder als benutzerdefinierter Datentyp, bei dem es sich um ein anderes Objekt mit einem eigenen Satz an Regeln handelt. Das DataType-Objekt klassifiziert den Typ der Daten, sodass diese von Microsoft SQL Server richtig behandelt werden können. Das DataType-Objekt ist Objekten zugeordnet, die Daten akzeptieren. Die folgenden SQL Server Management Objects (SMO)-Objekte akzeptieren Daten, die durch eine DataType-Objekteigenschaft definiert sein müssen:

Die DataType-Eigenschaft für Objekte, die Daten akzeptieren, kann auf unterschiedliche Weise festgelegt werden.

  • Verwenden Sie den Standardkonstruktor und geben Sie die DataType-Objekteigenschaften explizit an.

  • Verwenden Sie einen überladenen Konstruktor, und geben Sie die DataType-Eigenschaften als Parameter an.

  • Geben Sie DataType inline im Objektkonstruktor an.

  • Verwenden Sie eines der statischen Elemente der DataType-Klasse, zum Beispiel Int. In diesem Fall wird eine Instanz eines DataType-Objekts zurückgegeben.

Das DataType-Objekt verfügt über einige Eigenschaften, die den Datentyp definieren. Beispielsweise gibt die SqlDataType-Eigenschaft den SQL Server-Datentyp an. Die konstanten Werte, die SQL Server-Datentypen darstellen, werden in der SqlDataType-Enumeration aufgelistet. Dies gilt für Datentypen wie varchar, nchar, currency, integer, float und datetime.

Nachdem der Datentyp definiert wurde, müssen bestimmte Eigenschaften für die Daten festgelegt werden. Beispielsweise muss bei einem nchar-Typ die Länge der Zeichenfolgenddaten mit der Length-Eigenschaft angegeben werden. Das Gleiche gilt für numerische Werte, wo Sie Genauigkeit und Dezimalstellenanzahl angeben müssten.

Der UserDefinedDataType-Datentyp und der UserDefinedType-Datentyp beziehen sich auf Objekte, welche die Definition des vom Benutzer definierten Datentyps enthalten. UserDefinedDataType basiert auf den SQL Server-Datentypen aus der SqlDataType-Enumeration. UserDefinedType basiert auf Microsoft .NET-Datentypen. In der Regel würden diese Daten eines bestimmten Typs darstellen, der wegen der von der Organisation definierten Geschäftsregeln in der Datenbank häufig verwendet wird. Beispielsweise wäre ein Datentyp, mit dem ein Währungsbetrag und ein Währungsbezeichner gespeichert wird, für eine Firma hilfreich, die mit mehreren Währungen arbeitet.

Die SqlDataType-Enumeration enthält eine Liste aller von SQL Server- unterstützten Datentypen.

Beispiele

Um die bereitgestellten Codebeispiele verwenden zu können, müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache wählen, in der die Anwendung erstellt werden soll. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter "Vorgehensweise: Erstellen eines Visual Basic SMO-Projekts in Visual Studio .NET" oder "Vorgehensweise: Erstellen eines Visual C# SMO-Projekts in Visual Studio .NET".

Konstruktion eines DataType-Objekts mit der Spezifikation im Konstruktor in Visual Basic

Im folgenden Codebeispiel wird gezeigt, wie mit dem Konstruktor Instanzen von Datentypen erstellt werden, die auf verschiedenen SQL Server-Datentypen basieren.

HinweisHinweis

UserDefinedType, UserDefinedDataType und die XML-Typen erfordern einen Namenswert zur Identifizierung des Objekts.

'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)

Konstruktion eines DataType-Objekts mit der Spezifikation im Konstruktor in Visual C#

Im folgenden Codebeispiel wird gezeigt, wie mit dem Konstruktor Instanzen von Datentypen erstellt werden, die auf verschiedenen SQL Server-Datentypen basieren.

HinweisHinweis

UserDefinedType, UserDefinedDataType und die XML-Typen erfordern einen Namenswert zur Identifizierung des Objekts.

{ 
//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); 
}

Konstruktion eines DataType-Objekts mithilfe des Standardkonstruktors in Visual Basic

Im folgenden Codebeispiel wird gezeigt, wie mit dem Standardkonstruktor Instanzen von Datentypen erstellt werden, die auf verschiedenen SQL Server-Datentypen basieren. Mithilfe der Eigenschaften wird der Datentyp dann angegeben.

Hinweis UserDefinedType, UserDefinedDataType und die XML-Typen erfordern einen Namenswert zur Identifizierung des Objekts.

'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

Konstruktion eines DataType-Objekts mithilfe des Standardkonstruktors in Visual C#

Im folgenden Codebeispiel wird gezeigt, wie mit dem Standardkonstruktor Instanzen von Datentypen erstellt werden, die auf verschiedenen SQL Server-Datentypen basieren. Mithilfe der Eigenschaften wird der Datentyp dann angegeben.

Hinweis UserDefinedType, UserDefinedDataType und die XML-Typen erfordern einen Namenswert zur Identifizierung des Objekts.

{ 
//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; 
}