This documentation is archived and is not being maintained.

SqlCeCommand.SetRange Method

Restricts the set of rows that will be read by the SqlCeDataReader.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in

void SetRange (
	DbRangeOptions dbRangeOptions, 
	array<Object^>^ startData, 
	array<Object^>^ endData
public void SetRange (
	DbRangeOptions dbRangeOptions, 
	Object[] startData, 
	Object[] endData
public function SetRange (
	dbRangeOptions : DbRangeOptions, 
	startData : Object[], 
	endData : Object[]



The options used when specifying the range.


The starting key values for the range.


The ending key values for the range.

Exception typeCondition


IndexName property has not been set.

This method is intended to be a faster alternative to a SELECT statement for retrieving a set of rows from a base table. Instead of a WHERE clause in a SELECT statement, SetRange can be used to quickly retrieve a set of rows based on their index values. For example, to retrieve a set of employees with an employee ID between 1 and 5, you could execute a SELECT statement, but setting a range of 1 to 5 on the employee ID index will greatly improve performance.

This method can only be used when CommandType is set to TableDirect, CommandText is set to a valid base table name, and IndexName is set to a valid index name on the specified base table. When SetRange is used, the SqlCeDataReader returned from ExecuteReader will only return rows whose key values in the specified index match the range.

When Seek is used on a SqlCeDataReader that has a range, Seek will only position on rows in the specified range. For detailed information about SetRange, see the "IRowsetIndex::SetRange" topic in the OLE DB documentation.

This example retrieves data from the Orders table using an index into a SqlCeDataReader. The range on the index on which to Seek is specified by the SetRange method.

No code example is currently available or this language may not be supported.

  • Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see .

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