Freigeben über


OleDbConnectionStringBuilder.TryGetValue(String, Object) Methode

Definition

Ruft einen Wert ab, der dem von dieser OleDbConnectionStringBuilder-Instanz bereitgestellten Schlüssel entspricht.

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

Parameter

keyword
String

Der Schlüssel des abzurufenden Elements.

value
Object

Der Wert, der keyword entspricht.

Gibt zurück

true, wenn keyword in der Verbindungszeichenfolge gefunden wurde, andernfalls false.

Ausnahmen

keyword enthält einen NULL-Wert (Nothing in Visual Basic).

Beispiele

Im folgenden Beispiel wird das Verhalten der TryGetValue -Methode veranschaulicht.

using System.Data.OleDb;

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

        // Call TryGetValue method for multiple
        // key names.
        DisplayValue(builder, "Data Source");
        DisplayValue(builder, "Extended Properties");
        // How about implicitly added key/value pairs?
        DisplayValue(builder, "Jet OLEDB:System database");
        // Invalid keys?
        DisplayValue(builder, "Invalid Key");
        // Null values?
        DisplayValue(builder, null);

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

    static private void DisplayValue(OleDbConnectionStringBuilder 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)
        {
            Console.WriteLine("Unable to retrieve value for null key.");
        }
    }

    static private 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 "Provider=Microsoft.Jet.OLEDB.4.0;" +
            "Data Source=C:\\ExcelDemo.xls;" +
            "Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
    }
}
Imports System.Data.OleDb    

Module Module1
  Sub Main()
    Dim builder As New OleDbConnectionStringBuilder
    builder.ConnectionString = GetConnectionString()

    ' Call TryGetValue method for multiple
    ' key names. 
    DisplayValue(builder, "Data Source")
    DisplayValue(builder, "Extended Properties")
    ' How about implicitly added key/value pairs?
    DisplayValue(builder, "Jet OLEDB:System database")
    ' 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 OleDbConnectionStringBuilder, 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 "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=C:\ExcelDemo.xls;" & _
      "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
  End Function
End Module

Hinweise

Mit der TryGetValue-Methode können Entwickler einen Wert sicher aus einem OleDbConnectionStringBuilder abrufen, ohne die Gültigkeit des bereitgestellten Schlüsselnamens überprüfen zu müssen. Da TryGetValue keine Ausnahme ausgelöst wird, wenn Sie ihn aufrufen und einen nicht vorhandenen Schlüssel übergeben, müssen Sie vor dem Abrufen des Werts nicht nach einem Schlüssel suchen. Wenn Sie mit einem nicht vorhandenen Schlüssel aufrufen TryGetValue , wird der Wert NULL (Nothing in Visual Basic) im value Parameter platziert.

Gilt für:

Weitere Informationen