SqlConnectionStringBuilder.TryGetValue(String, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從這個 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
參數
- keyword
- String
要擷取之項目的索引鍵。
- value
- Object
對應到 keyword
的值。
傳回
如果在連接字串中找到 keyword
,則為 true
;否則為 false
。
例外狀況
keyword
包含 null 值 (在 Visual Basic 中為 Nothing
)。
範例
下列範例示範 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
此範例會顯示下列結果:
Data Source=(local)
Trusted_Connection=True
Unable to retrieve value for 'InvalidKey'
Unable to retrieve value for null key.
備註
TryGetValue 方法可讓開發人員安全地從 SqlConnectionStringBuilder 擷取值,而不需確認提供的索引鍵名稱是有效的索引鍵名稱。 因為 TryGetValue 不會在呼叫時引發例外狀況,傳入不存在的索引鍵,所以您不需要在擷取其值之前尋找索引鍵。 使用不存在的索引鍵呼叫 TryGetValue 會將 (Nothing
null 值放在 Visual Basic) 參數中 value
。
適用於
另請參閱
- ADO.NET 中的連接字串
- ADO.NET 概觀 \(部分機器翻譯\)