DbRangeOptions 列挙体
この列挙体には、メンバ値のビットごとの組み合わせを可能にする FlagsAttribute 属性が含まれています。
名前空間: System.Data.SqlServerCeアセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)

<FlagsAttribute> _ Public Enumeration DbRangeOptions

メンバ名 | 説明 | |
---|---|---|
![]() | Default | InclusiveStart フラグとInclusiveEnd フラグの両方を設定するのと同じです。 |
![]() | ExcludeNulls | 範囲から null 参照 (Visual Basic では Nothing) 値を除外します。 |
![]() | ExclusiveEnd | 範囲から endData 値を除外します。 |
![]() | ExclusiveStart | 範囲から startData 値を除外します。 |
![]() | InclusiveEnd | 範囲に endData 値を含めます。 |
![]() | InclusiveStart | 範囲に startData 値を含めます。 |
![]() | Match | インデックス値と startData 値が一致する範囲を指定します。Match オプションを使用する場合、endData を null 参照 (Visual Basic では Nothing) に設定する必要があります。 |
![]() | Prefix | インデックス値が startData の値で始まる範囲を指定します。Prefix オプションを使用する場合、endData を null 参照 (Visual Basic では Nothing) に設定する必要があります。 |


この例では、SetRange メソッドを呼び出すときに、インデックスに対する Seek 操作の範囲オプションが InclusiveStart または InclusiveEnd として指定されています。
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
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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DbRangeOptions 列挙体のページへのリンク