OdbcConnectionStringBuilder.TryGetValue(String, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從這個 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 () 中。