Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

DbRangeOptions Enumeration

Specifies the options used by the SetRange method when specifying the index range over which to seek.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

[FlagsAttribute] 
public enum DbRangeOptions
/** @attribute FlagsAttribute() */ 
public enum DbRangeOptions
FlagsAttribute 
public enum DbRangeOptions
 Member nameDescription
Supported by the .NET Compact FrameworkDefaultEquivalent to setting both the InclusiveStart and InclusiveEnd flags. 
Supported by the .NET Compact FrameworkExcludeNullsExcludes a null reference (Nothing in Visual Basic) values from the range. 
Supported by the .NET Compact FrameworkExclusiveEndExcludes the endData value from the range. 
Supported by the .NET Compact FrameworkExclusiveStartExcludes the startData value from the range. 
Supported by the .NET Compact FrameworkInclusiveEndIncludes the endData value in the range. 
Supported by the .NET Compact FrameworkInclusiveStartIncludes the startData value in the range. 
Supported by the .NET Compact FrameworkMatchSpecifies a range in which index values match the value of startData. When using the Match option, endData must be set to a null reference (Nothing in Visual Basic). 
Supported by the .NET Compact FrameworkPrefixSpecifies a range in which index values begin with the value of startData. When using the Prefix option, endData must be set to a null reference (Nothing in Visual Basic). 

If you specify the Match or Prefix option, the endData value must be a null reference (Nothing in Visual Basic).

You cannot combine the Match and ExcludeNulls options.

In this example, the range options for the Seek operation on the index are specified as InclusiveStart or InclusiveEnd when calling the SetRange method.

try
{
    SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandType = CommandType.TableDirect;
    cmd.IndexName = "Orders_PK";
    cmd.CommandText = "Orders";

    // We are interested in orders that match Order ID = 10020
    //
    cmd.SetRange(DbRangeOptions.Match, new object[] { 10020 , null);

    SqlCeDataReader reader = cmd.ExecuteReader(CommandBehavior.Default);

    for (int i = 1; reader.Read(); i++)
    {
        MessageBox.Show(String.Format("{0 ; {1", reader["Order ID"], reader["Order Date"]));
    

    // Now we are interested in orders with Order ID between (10020, 10050)
    //
    cmd.SetRange(DbRangeOptions.InclusiveStart | DbRangeOptions.InclusiveEnd,
        new object[] { 10020 , new object[] { 10050 );

    reader = cmd.ExecuteReader(CommandBehavior.Default);

    // Now seek to Order ID = 10045
    //
    bool onRow = reader.Seek(DbSeekOptions.FirstEqual, new object[] { 10045 );

    // Now ,the reader will return rows with Order ID >= 10045 <= 10050
    // because the range was set to (10020, 10050)
    //
    if (onRow)
    {
        for (int i = 1; reader.Read(); i++)
        {
            MessageBox.Show(String.Format("{0 ; {1", reader["Order ID"], reader["Order Date"]));
        
    

catch (Exception e)
{
    MessageBox.Show(e.Message);


Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Compact Framework

Supported in: 2.0, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.