DbSeekOptions Enumeration
.NET Framework 3.0
Options that specify how the Seek method will seek on an index.
Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)
| Member name | Description | |
|---|---|---|
![]() | After | Advances to the first row with values (in index order) after the seek value. |
![]() | AfterEqual | Advances to the last matching row on the index. If there are no matching rows, advances to the first row with values after the seek value, in index order. |
![]() | Before | Advances to the last row with values (in index order) before the seek value. |
![]() | BeforeEqual | Advances to the first matching row on the index. If there are no matching rows, advances to the last row with values before the seek value, in index order. |
![]() | FirstEqual | Advances to the first matching row (in index order) on the index. |
![]() | LastEqual | Advances to the last matching row (in index order) on the index. |
In this example, the FirstEqual option is specified for the Seek operation on the index.
Try Dim conn As New SqlCeConnection("Data Source = MyDatabase.sdf") conn.Open() Dim cmd As SqlCeCommand = 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}, Nothing) Dim reader As SqlCeDataReader = cmd.ExecuteReader(CommandBehavior.Default) While reader.Read() MessageBox.Show(String.Format("{0} ; {1}", reader("Order ID"), reader("Order Date"))) End While ' Now we are interested in orders with Order ID between (10020, 10050) ' cmd.SetRange(DbRangeOptions.InclusiveStart Or DbRangeOptions.InclusiveEnd, New Object() {10020}, New Object() {10050}) reader = cmd.ExecuteReader(CommandBehavior.Default) ' Now seek to Order ID = 10045 ' Dim onRow As Boolean = 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 Then While reader.Read() MessageBox.Show(String.Format("{0} ; {1}", reader("Order ID"), reader("Order Date"))) End While End If Catch e As Exception MessageBox.Show(e.Message) End Try
Community Additions
ADD
Show:
