SqlConnectionStringBuilder.TryGetValue Method (String, Object)

 

Retrieves a value corresponding to the supplied key from this SqlConnectionStringBuilder.

Namespace:   System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)

public override bool TryGetValue(
	string keyword,
	out object value
)

Parameters

keyword
Type: System.String

The key of the item to retrieve.

value
Type: System.Object

The value corresponding to keyword.

Return Value

Type: System.Boolean

true if keyword was found within the connection string; otherwise, false.

Exception Condition
ArgumentNullException

keyword contains a null value (Nothing in Visual Basic).

The TryGetValue method lets developers safely retrieve a value from a SqlConnectionStringBuilder without needing to verify that the supplied key name is a valid key name. Because TryGetValue does not raise an exception when you call it, passing in a nonexistent key, you do not have to look for a key before retrieving its value. Calling TryGetValue with a nonexistent key will place the value null (Nothing in Visual Basic) in the value parameter.

The following example demonstrates the behavior of the TryGetValue method.

using System.Data.SqlClient;

using System;
using System.Data.SqlClient;


class Program
{
    static void Main()
    {
        SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
        builder.ConnectionString = GetConnectionString();

        // Call TryGetValue method for multiple
        // key names. Note that these keys are converted
        // to well-known synonynms for data retrieval.
        DisplayValue(builder, "Data Source");
        DisplayValue(builder, "Trusted_Connection");
        DisplayValue(builder, "InvalidKey");
        DisplayValue(builder, null);

        Console.WriteLine("Press any key to continue.");
        Console.ReadLine();
    }

    private static void DisplayValue(
        SqlConnectionStringBuilder builder, string key)
    {
        object value = null;

        // Although TryGetValue handles missing keys,
        // it doesn't handle passing in a null
        // key. This example traps for that particular error, but
        // passes any other unknown exceptions back out to the
        // caller. 
        try
        {
            if (builder.TryGetValue(key, out value))
            {
                Console.WriteLine("{0}='{1}'", key, value);
            }
            else
            {
                Console.WriteLine("Unable to retrieve value for '{0}'", key);
            }
        }
        catch (ArgumentNullException)
        {
            Console.WriteLine("Unable to retrieve value for null key.");
        }
    }

    private static string GetConnectionString()
    {
        // To avoid storing the connection string in your code,
        // you can retrieve it from a configuration file. 
        return "Server=(local);Integrated Security=SSPI;" +
            "Initial Catalog=AdventureWorks";
    }
}

The sample displays the following results:

Data Source=(local)
Trusted_Connection=True
Unable to retrieve value for 'InvalidKey'
Unable to retrieve value for null key.

.NET Framework
Available since 2.0
Return to top
Show: