SqlConnectionStringBuilder.TryGetValue(String, Object) Method

Definition

从此 SqlConnectionStringBuilder 中检索与提供的键相对应的值。Retrieves a value corresponding to the supplied key from this SqlConnectionStringBuilder.

public:
 override bool TryGetValue(System::String ^ keyword, [Runtime::InteropServices::Out] System::Object ^ % value);
public override bool TryGetValue (string keyword, out object value);
override this.TryGetValue : string * obj -> bool
Public Overrides Function TryGetValue (keyword As String, ByRef value As Object) As Boolean

Parameters

keyword
String

要检索的项的键。The key of the item to retrieve.

value
Object

keyword 对应的值。The value corresponding to keyword.

Returns

Boolean

如果在连接字符串中找到 keyword,则为 true;否则为 falsetrue if keyword was found within the connection string; otherwise, false.

Exceptions

keyword 包含一个 null 值(在 Visual Basic 中为 Nothing)。keyword contains a null value (Nothing in Visual Basic).

Examples

下面的示例演示TryGetValue方法的行为。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";
    }
}
Imports System.Data.SqlClient
    
Module Module1
    Sub Main()
        Dim builder As 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, Nothing)

        Console.WriteLine("Press any key to continue.")
        Console.ReadLine()
    End Sub

    Private Sub DisplayValue( _
     ByVal builder As SqlConnectionStringBuilder, ByVal key As String)
        Dim value As Object = Nothing

        ' Although TryGetValue handles missing keys,
        ' it doesn't handle passing in a null (Nothing in Visual Basic)
        ' key. This example traps for that particular error, but
        ' passes any other unknown exceptions back out to the
        ' caller. 
        Try
            If builder.TryGetValue(key, value) Then
                Console.WriteLine("{0}='{1}' ", key, value)
            Else
                Console.WriteLine("Unable to retrieve value for '{0}'", key)
            End If
        Catch ex As ArgumentNullException
            Console.WriteLine("Unable to retrieve value for null key.")
        End Try
    End Sub

    Private Function GetConnectionString() As String
        ' 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"
    End Function
End Module

此示例显示以下结果: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.

Remarks

TryGetValue 方法允许开发人员安全地从 SqlConnectionStringBuilder 中检索值,而无需验证提供的键名是否为有效的键名。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. 由于TryGetValue在调用它时不会引发异常,因此传入不存在的键时,无需在检索其值之前查找密钥。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. 如果使用不存在的键调用TryGetValue ,则会将值 null (Nothing 在 Visual Basic 中)放入 value 参数。Calling TryGetValue with a nonexistent key will place the value null (Nothing in Visual Basic) in the value parameter.

Applies to

See also