Функция выбора данных - PullRequest
       6

Функция выбора данных

1 голос
/ 26 декабря 2011

Попытка выбрать поля, где «Ожидаемая дата закрытия» меньше текущей даты, и удаление их из таблицы. Тем не менее, появляется сообщение об ошибке как пропущенный операнд после оператора закрытия.

DateTime Tdy=DateTime.Now;
 var rows = dt.Select("Expected closure date < "+Tdy+"");
 foreach (var row in rows)
         row.Delete(); 

Ответы [ 3 ]

1 голос
/ 26 декабря 2011

Вам нужно обернуть дату в восьмигранник:

dt.Select("myDateTimecolumn < #" + tdy.ToString("MM/dd/yyyy") + "#");
1 голос
/ 26 декабря 2011

Это то, что вам нужно, проверено

var rows = dt.Select(string.Format("[Expected closure date] < '{0}'", Tdy));

Вот полный рабочий образец

using System;
using System.Data;


namespace ConsoleApplication5
{
  class Program
  {    

    static void Main(string[] args)
    {
      DataTable dt = new DataTable();
      string col = "Expected closure date";
      dt.Columns.Add(col,typeof(DateTime));

      dt.Rows.Add(DateTime.Now.AddDays(-1) );

      Console.WriteLine("Total rows in dt " + dt.Rows.Count);

      DateTime Tdy = DateTime.Now;
      var rows = dt.Select(string.Format("[Expected closure date] <= '{0}'", Tdy));
      foreach (var row in rows)
        row.Delete();
      Console.WriteLine("Total rows in dt " + dt.Rows.Count);

      Console.ReadLine();

    }
  }
}

Вот вывод

Total rows in dt 1
Total rows in dt 0
1 голос
/ 26 декабря 2011
DateTime Tdy=DateTime.Now;
 var rows = dt.Select("myDateTimecolumn<'"+DateTime.Now.ToString("yyyyMMdd")+"'");
 foreach (var row in rows)
         row.Delete();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...