OleDbConnectionStringBuilder.TryGetValue(String, Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Retrieves a value corresponding to the supplied key from the OleDbConnectionStringBuilder instance.
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
Parameters
- keyword
- String
The key of the item to retrieve.
- value
- Object
The value corresponding to keyword
.
Returns
true
if keyword
was found within the connection string; otherwise, false
.
Exceptions
keyword
contains a null value (Nothing
in Visual Basic).
Examples
The following example demonstrates the behavior of the TryGetValue method.
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
Remarks
The TryGetValue method lets developers safely retrieve a value from a OleDbConnectionStringBuilder without needing to verify that the supplied key name is a valid key name. Because TryGetValue does not raise an exception when you call it, passing in a nonexistent key, you do not have to look for a key before retrieving its value. Calling TryGetValue with a nonexistent key will place the value null (Nothing
in Visual Basic) in the value
parameter.