Variable.Value Property

Definition

Gets or sets the value assigned to the variable.

public:
 property System::Object ^ Value { System::Object ^ get(); void set(System::Object ^ value); };
[Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "ValueDesc")]
public object Value { get; set; }
[<Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "ValueDesc")>]
member this.Value : obj with get, set
Public Property Value As Object

Property Value

An object that contains the variable's value.

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 RaiseChangedEvent.

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

You can only change the value of a variable if the ReadOnly property returns false.

Applies to