DbRangeOptions 列挙体とは? わかりやすく解説

DbRangeOptions 列挙体

シークするインデックスの範囲を指定する場合は、SetRange メソッドで使用するオプションを指定します。

この列挙体には、メンバ値のビットごとの組み合わせを可能にする FlagsAttribute 属性が含まれています。

名前空間: System.Data.SqlServerCe
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)
構文構文

<FlagsAttribute> _
Public Enumeration DbRangeOptions
Dim instance As DbRangeOptions
[FlagsAttribute] 
public enum DbRangeOptions
[FlagsAttribute] 
public enum class DbRangeOptions
/** @attribute FlagsAttribute() */ 
public enum DbRangeOptions
FlagsAttribute 
public enum DbRangeOptions
メンバメンバ
 メンバ名説明
.NET Compact Framework によるサポートDefaultInclusiveStart フラグとInclusiveEnd フラグの両方を設定するのと同じです。 
.NET Compact Framework によるサポートExcludeNulls範囲から null 参照 (Visual Basic では Nothing) 値を除外します。 
.NET Compact Framework によるサポートExclusiveEnd範囲から endData 値を除外します。 
.NET Compact Framework によるサポートExclusiveStart範囲から startData 値を除外します。 
.NET Compact Framework によるサポートInclusiveEnd範囲に endData 値を含めます。 
.NET Compact Framework によるサポートInclusiveStart範囲に startData 値を含めます。 
.NET Compact Framework によるサポートMatchインデックス値と startData 値が一致する範囲を指定します。Match オプションを使用する場合、endData を null 参照 (Visual Basic では Nothing) に設定する必要があります。 
.NET Compact Framework によるサポートPrefixインデックス値が startData の値で始まる範囲を指定します。Prefix オプションを使用する場合、endData を null 参照 (Visual Basic では Nothing) に設定する必要があります。 
解説解説

Match オプションまたは Prefix オプションを指定する場合、endData 値は null 参照 (Visual Basic では Nothing) にする必要があります。

Match オプションと ExcludeNulls オプションを組み合わせることはできません。

使用例使用例

この例では、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);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Data.SqlServerCe 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DbRangeOptions 列挙体」の関連用語

DbRangeOptions 列挙体のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DbRangeOptions 列挙体のページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS