-2

さて、2bigint列を含むテーブルがあります。

val1 3213 12312
val2 13232 32322
.
.
.

select val from table where 3232 between col1 and col2

between 演算子を使用して、単一行データを選択する必要があります。

今私は試しdataviewましたが失敗しました。betweenデータビューは演算子をサポートしていません。

このような

dwIpAddress.RowFilter = string.Format("{0} between CodeVal_1 and CodeVal_2", irParameter);

では、どのアプローチを使用できますか?

200000 のようなデータ レコードがあります。

これを試してみましたが、超遅いです

    dwIpAddress.RowFilter = string.Format("CodeVal_1>= {0} and CodeVal_2<={0}", irParameter);

C#4.0

4

1 に答える 1

1

やってみました

    dwIpAddress.RowFilter = string.Format("CodeVal_1 <= {0} and {0} <= CodeVal_2", irParameter);

また、C#4.0を使用しているとおっしゃっていたので、DataViewの代わりに使用できるEntityFrameworkがあります。あなたが調べたいと思うかもしれない何か。

また、DataViewにデータベーステーブルのすべてのレコードが含まれている場合は、すべての行を返し、C#でフィルタリングするのではなく、必要な行のみをデータベースから取得するようにクエリを調整することをお勧めします(それがあなたがやっている)

于 2012-12-23T01:42:10.073 に答える