.net
  • vb.net
  • select
  • filter
  • datatable
  • 2017-09-11 2 views 0 likes 
    0

    私はそうのようなデータテーブルからレコードを選択しています:あなたが見ることができるようにVB.Net DataTable.Selectは無効な行を返しますか?

    Dim foundRows() as DataRow = dt.Select("country = 'United States' AND speed = 0 OR speed >= 1000 AND speed <= 2000 AND status = 'Unknown' OR status = 'Valid' OR status = 'Invalid'") 
    

    、私は、そのスピード0である、または1000年から2000年、およびそのステータスは不明である米国、からレコードを選択したいです有効または無効です。これらの基準を満たしていない

    残念ながら、レコードも選択されている(例:速度を持つレコードを< 1000年、その他の国)

    私のフィルター式の何が問題になっているのですか?私は速度条件の周りに括弧を追加しようとしましたが、多分もっと必要なのでしょうか?

    答えて

    1

    あなたは括弧を使用する必要があります。

    country = 'United States' AND 
    (speed = 0 OR (speed >= 1000 AND speed <= 2000)) AND 
    (status = 'Unknown' OR status = 'Valid' OR status = 'Invalid') 
    
    +0

    うんそれが動作します。私は7分のおかげでそれを答えとしてマークします。ニースアイコンbtw。 –

    関連する問題