Share via


OdbcConnectionStringBuilder.TryGetValue(String, Object) 方法

定義

從這個 OdbcConnectionStringBuilder 擷取對應到所提供之索引鍵的值。

public:
 override bool TryGetValue(System::String ^ keyword, [Runtime::InteropServices::Out] System::Object ^ % value);
public override bool TryGetValue (string keyword, out 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

參數

keyword
String

要擷取之項目的索引鍵。

value
Object

對應到 keyword 的值。

傳回

如果在連接字串中找到 keyword,則為 true,否則為 false

範例

下列範例示範 方法的行為 TryGetValue

using System.Data.Odbc;

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

        // Call TryGetValue method for multiple
        // key names. Demonstrate that the search is not
        // case sensitive.
        DisplayValue(builder, "Driver");
        DisplayValue(builder, "SERVER");
        // How about a property you did not set?
        DisplayValue(builder, "DNS");
        // Invalid keys?
        DisplayValue(builder, "Invalid Key");
        // Null values?
        DisplayValue(builder, null);

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

    private static string GetConnectionString()
    {
        // To avoid storing the connection string in your code,
        // you can retrieve it from a configuration file using the
        // System.Configuration.ConfigurationSettings.AppSettings property.
        return "Driver={SQL Server};Server=(local);" +
            "Database=AdventureWorks;Trusted_Connection=yes;";
    }

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

        // Although TryGetValue handles missing keys,
        // it does not handle passing in a null (Nothing in Visual Basic)
        // key. This example traps for that particular error, but
        // throws 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 ex)
        {
            Console.WriteLine("Unable to retrieve value for null key.");
        }
    }
}
Imports System.Data.Odbc
    
Module Module1

  Sub Main()
    Dim builder As New OdbcConnectionStringBuilder
    builder.ConnectionString = GetConnectionString()

    ' Call TryGetValue method for multiple
    ' key names. Demonstrate that the search is not
    ' case sensitive.
    DisplayValue(builder, "Driver")
    DisplayValue(builder, "SERVER")
    ' How about a property you did not set?
    DisplayValue(builder, "DNS")
    ' Invalid keys?
    DisplayValue(builder, "Invalid Key")
    ' Null values?
    DisplayValue(builder, Nothing)

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

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

    ' Although TryGetValue handles missing keys,
    ' it does not handle passing in a null (Nothing in Visual Basic)
    ' key. This example traps for that particular error, but
    ' throws 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 using the 
    ' System.Configuration.ConfigurationSettings.AppSettings property. 
    Return "Driver={SQL Server};Server=(local);" & _
      "Database=AdventureWorks;Trusted_Connection=yes;"
  End Function
End Module

備註

TryGetValue 方法可讓開發人員安全地從 OdbcConnectionStringBuilder 擷取值,而不需確認提供的索引鍵名稱是有效的索引鍵名稱。 因為 TryGetValue 當您傳入不存在的索引鍵時不會引發例外狀況,所以您不需要在擷取其值之前先尋找索引鍵。 使用不存在的索引鍵呼叫 TryGetValue 會將 null 值放在 Nothing 參數的 value Visual Basic () 中。

適用於

另請參閱