Variable.DataType Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a TypeCode enumeration that describes the data type of the variable. This property is read-only.
public:
property TypeCode DataType { TypeCode get(); };
[Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "DataTypeDesc")]
[System.ComponentModel.Browsable(false)]
public TypeCode DataType { get; }
[<Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "DataTypeDesc")>]
[<System.ComponentModel.Browsable(false)>]
member this.DataType : TypeCode
Public ReadOnly Property DataType As TypeCode
Property Value
A TypeCode enumeration that represents the data type of the variable.
- Attributes
Examples
The following example creates a package, adds a ForEachLoop, and adds a variable to the Variables collection of the ForEachLoop. It then retrieves and sets properties on the variable and displays them for viewing, including the DataType.
static void Main(string[] args)
{
Package p = new Package();
// Add a sequence to the package executables collection
Sequence seq = (Sequence)p.Executables.Add("STOCK:SEQUENCE");
// Add a ForEachLoop to the Sequence
ForEachLoop feLoop = (ForEachLoop)seq.Executables.Add("STOCK:FOREACHLOOP");
// Add a variable, v, to the variable collection
// of the ForEach loop.
Variable v = feLoop.Variables.Add("v", false, "global", 100);
// Get and set different variable properties
// Creation Name (read-only)
String createName = v.CreationName;
// Description (read/write)
v.Description = "my new v Description";
String vDesc = v.Description;
// ID (read-only)
String vID = v.ID;
// Name (read/write)
String oldName = v.Name;
v.Name = "my_new_V_name";
String newName = v.Name;
// Namespace (read/write)
String oldNamespace = v.Namespace;
v.Namespace = "my_new_v_Namespace";
String newNamespace = v.Namespace;
// Properties (read-only)
int pmCount = v.Properties.Count;
// Qualified Name (read-only)
String QName = v.QualifiedName;
// RaiseChangedEvent (read/write)
Boolean oldraiseChEvt = v.RaiseChangedEvent;
v.RaiseChangedEvent = true;
Boolean raiseChangedEvent = v.RaiseChangedEvent;
// Read-only (read/write)
Boolean vReadOnly = v.ReadOnly;
v.ReadOnly = true;
Boolean newVReadOnly = v.ReadOnly;
// System Variable (read-only)
Boolean sysVar = v.SystemVariable;
// Type (read-only)
TypeCode type = v.DataType;
// Value (read/write)
Object vValue = v.Value;
Console.WriteLine("The variable properties are: ");
Console.WriteLine("Creation Name = {0}", createName);
Console.WriteLine("Description = {0}", vDesc);
Console.WriteLine("ID = {0}", vID);
Console.WriteLine("Old name, new name = {0}, {1}", oldName, newName);
Console.WriteLine("Old namespace, new namespace = {0}, {1}", oldNamespace, newNamespace);
Console.WriteLine("Properties count = {0}", pmCount);
Console.WriteLine("Qualified Name = {0}", QName);
Console.WriteLine("old RaiseEvent, new RaiseEvent = {0}, {1}", oldraiseChEvt, raiseChangedEvent);
Console.WriteLine("old read-only, new read-only = {0}, {1}", vReadOnly, newVReadOnly);
Console.WriteLine("System Variable = {0}", sysVar);
Console.WriteLine("Type = {0}", type);
}
Shared Sub Main(ByVal args() As String)
Dim p As New Package()
' Add a sequence to the package executables collection
Dim seq As Sequence = CType(p.Executables.Add("STOCK:SEQUENCE"), Sequence)
' Add a ForEachLoop to the Sequence
Dim feLoop As ForEachLoop = CType(seq.Executables.Add("STOCK:FOREACHLOOP"), ForEachLoop)
' Add a variable, v, to the variable collection
' of the ForEach loop.
Dim v As Variable = feLoop.Variables.Add("v", False, "global", 100)
' Get and set different variable properties
' Creation Name (read-only)
Dim createName As String = v.CreationName
' Description (read/write)
v.Description = "my new v Description"
Dim vDesc As String = v.Description
' ID (read-only)
Dim vID As String = v.ID
' Name (read/write)
Dim oldName As String = v.Name
v.Name = "my_new_V_name"
Dim newName As String = v.Name
' Namespace (read/write)
Dim oldNamespace As String = v.Namespace
v.Namespace = "my_new_v_Namespace"
Dim newNamespace As String = v.Namespace
' Properties (read-only)
Dim pmCount As Integer = v.Properties.Count
' Qualified Name (read-only)
Dim QName As String = v.QualifiedName
' RaiseChangedEvent (read/write)
Dim oldraiseChEvt As [Boolean] = v.RaiseChangedEvent
v.RaiseChangedEvent = True
Dim raiseChangedEvent As [Boolean] = v.RaiseChangedEvent
' Read-only (read/write)
Dim vReadOnly As [Boolean] = v.ReadOnly
v.ReadOnly = True
Dim newVReadOnly As [Boolean] = v.ReadOnly
' System Variable (read-only)
Dim sysVar As [Boolean] = v.SystemVariable
' Type (read-only)
Dim type As TypeCode = v.DataType
' Value (read/write)
Dim vValue As [Object] = v.Value
Console.WriteLine("The variable properties are: ")
Console.WriteLine("Creation Name = {0}", createName)
Console.WriteLine("Description = {0}", vDesc)
Console.WriteLine("ID = {0}", vID)
Console.WriteLine("Old name, new name = {0}, {1}", oldName, newName)
Console.WriteLine("Old namespace, new namespace = {0}, {1}", oldNamespace, newNamespace)
Console.WriteLine("Properties count = {0}", pmCount)
Console.WriteLine("Qualified Name = {0}", QName)
Console.WriteLine("old RaiseEvent, new RaiseEvent = {0}, {1}", oldraiseChEvt, raiseChangedEvent)
Console.WriteLine("old read-only, new read-only = {0}, {1}", vReadOnly, newVReadOnly)
Console.WriteLine("System Variable = {0}", sysVar)
Console.WriteLine("Type = {0}", type)
End Sub
Sample Output:
The variable properties are:
Creation Name =
Description = my new v Description
ID = {622CF328-55D7-4E81-9385-9C1F8450511E}
Old name, new name = v, my_new_V_name
Old namespace, new namespace = global, my_new_v_Namespace
Properties count = 12
Qualified Name = my_new_v_Namespace::my_new_V_name
old RaiseEvent, new RaiseEvent = False, True
old read-only, new read-only = False, True
System Variable = False
Type = Int32
Remarks
The DataType of a variable is not set explicitly, but is inferred from the initial value assigned to the variable, and cannot be changed afterward.