Export (0) Print
Expand All
Expand Minimize

DbRangeOptions Enumeration

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

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
DefaultEquivalent to setting both the InclusiveStart and InclusiveEnd flags.
ExcludeNullsExcludes null values from the range.
ExclusiveEndExcludes the endData value from the range.
ExclusiveStartExcludes the startData value from the range.
InclusiveEndIncludes the endData value in the range.
InclusiveStartIncludes the startData value in the range.
MatchSpecifies a range in which index values match the value of startData. When using the Match option, endData must be set to null.
PrefixSpecifies a range in which index values begin with the value of startData. When using the Prefix option, endData must be set to null.

If you specify the Match or Prefix option, the endData value must be null.

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);
}

Development Platforms

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Version Information
.NET Framework and NET Compact Framework
Supported in 3.5
.NET Framework
Supported in 3.0
.NET Compact Framework and .Net Framework
Supported in 2.0

Show:
© 2014 Microsoft