0

私のアプリケーションでは、ユーザーが日数を入力できるようにしています。ユーザーのエントリに基づいて、現在の日付から x 日 (ユーザーのエントリ) 古いレコードのみを表示する必要があります。talltree_master は、最後のエントリが行われた日付を追跡する lastdtems 列のテーブルの名前です。例のために。ユーザーが日数を 40 と入力した場合、クエリは 40 日より古いすべての日付 (lastdtems 列から) を表示する必要があります。

string query = "select area_id,row_id,tree_no,talltree_id,block_id,dtlastemas from talltree_master";
query += " where talltree_master.block_id=" + block + " and talltree_master.area_id =" + area + "";

上記のコードは、これまで選択されたフィールドの上にのみ表示されます。現在の日付から x 日古いレコードのみを表示するコードが必要です。

今日の日付は次を使用して廃止されました

DateTime.Now.ToString("dd/MM/yyyy")
4

1 に答える 1

0

ステートメントに where 句を追加する必要があります

AND dtlastemas <= '2013-09-01'

次のようにコーディングできます。

var _dateFrom = DateTime.Now.Date.AddDays(- NrOfDays);

// SQL ステートメント + " and dtlastemas <= '" + string.format("{0:yyyy-MM-dd}", _dateFrom) + "'";

上記の Soner のコメントに同意します。パラメータ化された SQL を使用して SQL インジェクションを避ける必要があります。

よろしく、 ユルジェン

于 2013-09-15T18:06:22.047 に答える