다음을 통해 공유


Variable.ReadOnly Property

Gets or sets a Boolean that indicates that the variable is read-only and cannot have its value modified.

네임스페이스: Microsoft.SqlServer.Dts.Runtime
어셈블리: Microsoft.SqlServer.ManagedDTS (in microsoft.sqlserver.manageddts.dll)

구문

‘선언
Public Property ReadOnly As Boolean
public bool ReadOnly { get; set; }
public:
property bool ReadOnly {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_ReadOnly ()

/** @property */
public void set_ReadOnly (boolean value)
public function get ReadOnly () : boolean

public function set ReadOnly (value : boolean)

속성 값

A Boolean that indicates the read-only status of the variable. A value of true indicates that the variable is read-only. A value of false indicates that the variable is read/write.

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

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

스레드 보안

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

플랫폼

개발 플랫폼

지원되는 플랫폼 목록은 SQL Server 2005 설치를 위한 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

대상 플랫폼

지원되는 플랫폼 목록은 SQL Server 2005 설치를 위한 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

참고 항목

참조

Variable Class
Variable Members
Microsoft.SqlServer.Dts.Runtime Namespace