Variable.DataType 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取说明变量的数据类型的 TypeCode 枚举。 此属性为只读。
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
属性值
一个 TypeCode 枚举,该枚举表示变量的数据类型。
- 属性
示例
以下示例创建包、添加变量 ForEachLoop并将变量添加到 Variables 集合中 ForEachLoop。 然后,它检索并设置变量的属性,并显示它们以供查看,包括 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
示例输出:
变量属性为:
创建名称 =
说明 = 我的新 v 说明
ID = {622CF328-55D7-4E81-9385-9C1F8450511E}
旧名称,新名称 = v,my_new_V_name
旧命名空间,新命名空间 = 全局命名空间,my_new_v_Namespace
属性计数 = 12
限定名称 = my_new_v_Namespace::my_new_V_name
old RaiseEvent,new RaiseEvent = False,True
旧只读,新只读 = False,True
系统变量 = False
Type = Int32
注解
DataType变量未显式设置,但从分配给变量的初始值推断,之后无法更改。