OleDbConnectionStringBuilder.TryGetValue(String, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Извлекает значение, соответствующее предоставляемому ключу из экземпляра OleDbConnectionStringBuilder.
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
.
Возвращаемое значение
Значение true
, если значение keyword
найдено в строке подключения. В противном случае — значение false
.
Исключения
keyword
содержит значение NULL (Nothing
в Visual Basic).
Примеры
В следующем примере демонстрируется поведение TryGetValue метода .
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
Комментарии
Метод TryGetValue позволяет разработчикам получать значение из объекта OleDbConnectionStringBuilder, не проверяя допустимость передаваемого ключевого слова. Так как TryGetValue при его вызове при передаче несуществующего ключа исключение не вызывается, вам не нужно искать ключ перед получением его значения. Вызов TryGetValue с несуществующим ключом поместит значение null (Nothing
в Visual Basic) в value
параметр .