Configurations.InsertBefore(Object, Configuration) Method

Definition

Adds a Configuration object into the collection before an existing Configuration object.

public:
 void InsertBefore(System::Object ^ index, Microsoft::SqlServer::Dts::Runtime::Configuration ^ config);
public void InsertBefore (object index, Microsoft.SqlServer.Dts.Runtime.Configuration config);
member this.InsertBefore : obj * Microsoft.SqlServer.Dts.Runtime.Configuration -> unit
Public Sub InsertBefore (index As Object, config As Configuration)

Parameters

index
Object

The name, description, ID, or identity of a Configuration object that is already in the collection.

config
Configuration

The Configuration object to insert into the collection.

Examples

The following code example creates three configurations, and adds them to one package. It then displays their name, and the names are displayed in the order in which they were added. Using the InsertBefore, the first configuration in position 2 is inserted before the configuration located in index position 1. The names are again displayed, and Conf3 is shown as copied after Conf1 in the collection.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  

namespace Configurations_API  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package p = new Package();  

            Configuration conf1 = p.Configurations.Add();  
            conf1.ConfigurationString = "Conf1 Configuration String";  
            conf1.ConfigurationType = DTSConfigurationType.EnvVariable;  
            conf1.Description = "Some description for Conf1 configuration";  
            conf1.Name = "Conf1";  
            conf1.PackagePath = "A Variable Name in configuration Conf1";  

            Configuration conf2 = p.Configurations.Add();  
            conf2.ConfigurationString = "Conf2 Configuration String";  
            conf2.ConfigurationType = DTSConfigurationType.ConfigFile;  
            conf2.Description = "Some description for Conf2 configuration";  
            conf2.Name = "Conf2";  
            conf2.PackagePath = "A Variable Name in configuration Conf2";  

            Configuration conf3 = p.Configurations.Add();  
            conf3.ConfigurationString = "Conf3 Configuration String2";  
            conf3.ConfigurationType = DTSConfigurationType.RegEntry;  
            conf3.Description = "Conf3 description for Conf3 configuration2";  
            conf3.Name = "Conf3";  
            conf3.PackagePath = "A Variable Name in configuration Conf3";  

            DTSExecResult pkgExecResults = p.Execute();  

            if (pkgExecResults == DTSExecResult.Success)  
            {  
                Console.WriteLine("Success!");  
                // Iterate over the configurations.  
                Configurations configs = p.Configurations;  
                foreach (Configuration config in configs)  
                {  
                    // This is an ordered collection, they display in the order added.  
                    Console.WriteLine("Configuration Name {0}", config.Name);  
                }  
                Console.WriteLine("---------------------------------------------------");  

                // Using the Configurations methods, move the configurations around.  
                Configuration movingConfig = p.Configurations[2];  
                p.Configurations.InsertBefore(1, movingConfig);  
                foreach (Configuration config in configs)  
                {  
                    Console.WriteLine("Configuration Name {0}", config.Name);  
                }  
                Console.WriteLine("---------------------------------------------------");  
            }  
            else  
            {  
                Console.WriteLine("Results were {0}", pkgExecResults);  
            }  
            Console.WriteLine("Number of configuration in package {0}", p.Configurations.Count);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace Configurations_API  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim p As Package =  New Package()   

            Dim conf1 As Configuration =  p.Configurations.Add()   
            conf1.ConfigurationString = "Conf1 Configuration String"  
            conf1.ConfigurationType = DTSConfigurationType.EnvVariable  
            conf1.Description = "Some description for Conf1 configuration"  
            conf1.Name = "Conf1"  
            conf1.PackagePath = "A Variable Name in configuration Conf1"  

            Dim conf2 As Configuration =  p.Configurations.Add()   
            conf2.ConfigurationString = "Conf2 Configuration String"  
            conf2.ConfigurationType = DTSConfigurationType.ConfigFile  
            conf2.Description = "Some description for Conf2 configuration"  
            conf2.Name = "Conf2"  
            conf2.PackagePath = "A Variable Name in configuration Conf2"  

            Dim conf3 As Configuration =  p.Configurations.Add()   
            conf3.ConfigurationString = "Conf3 Configuration String2"  
            conf3.ConfigurationType = DTSConfigurationType.RegEnTry  
            conf3.Description = "Conf3 description for Conf3 configuration2"  
            conf3.Name = "Conf3"  
            conf3.PackagePath = "A Variable Name in configuration Conf3"  

            Dim pkgExecResults As DTSExecResult =  p.Execute()   

            If pkgExecResults = DTSExecResult.Success Then  
                Console.WriteLine("Success!")  
                ' Iterate over the configurations.  
                Dim configs As Configurations =  p.Configurations   
                Dim config As Configuration  
                For Each config In configs  
                    ' This is an ordered collection, they display in the order added.  
                    Console.WriteLine("Configuration Name {0}", config.Name)  
                Next  
                Console.WriteLine("---------------------------------------------------")  

                ' Using the Configurations methods, move the configurations around.  
                Dim movingConfig As Configuration =  p.Configurations(2)   
                p.Configurations.InsertBefore(1, movingConfig)  
                Dim config As Configuration  
                For Each config In configs  
                    Console.WriteLine("Configuration Name {0}", config.Name)  
                Next  
                Console.WriteLine("---------------------------------------------------")  
            Else   
                Console.WriteLine("Results were {0}", pkgExecResults)  
            End If  
            Console.WriteLine("Number of configuration in package {0}", p.Configurations.Count)  
        End Sub  
    End Class  
End Namespace  

Sample Output:

Success!

Configuration Name Conf1

Configuration Name Conf2

Configuration Name Conf3

---------------------------------------------------

Configuration Name Conf1

Configuration Name Conf3

Configuration Name Conf2

Configuration Name Conf3

---------------------------------------------------

Number of configuration in package 4

Remarks

Inserts the Configuration object into the collection. The new position is before the object specified by the index parameter.

Applies to