SqlConnectionStringBuilder.TryGetValue(String, Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett värde som motsvarar den angivna nyckeln från den här 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
Parametrar
- keyword
- String
Nyckeln för det objekt som ska hämtas.
- value
- Object
Värdet som motsvarar keyword.
Returer
true om keyword hittades inom reťazec pripojenia, annars false.
Undantag
keyword innehåller ett null-värde (Nothing i Visual Basic).
Exempel
I följande exempel visas beteendet för metoden TryGetValue .
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
Exemplet visar följande resultat:
Data Source=(local)
Trusted_Connection=True
Unable to retrieve value for 'InvalidKey'
Unable to retrieve value for null key.
Kommentarer
Med TryGetValue metoden kan utvecklare på ett säkert sätt hämta ett värde från en SqlConnectionStringBuilder utan att behöva verifiera att det angivna nyckelnamnet är ett giltigt nyckelnamn. Eftersom TryGetValue inte skapar ett undantag när du anropar det och skickar in en obefintlig nyckel behöver du inte leta efter en nyckel innan du hämtar dess värde. Anropar TryGetValue med en icke-existerande nyckel placerar värdet null (Nothing i Visual Basic) i parametern value.