Как в DataGridView сделать выборку между датами?

Подключена база созданная в Access, и теперь нужно сделать выборку клиентов зарегистрированных между определенными датами. Есть форма с подключенными данными клиентов в DataGridView. И через два DateTimePicker осуществляем выбор интервала дат. По нажатию button должно сделать выборку.

code: #csharp
public DataTable GetVisitStatistic(int ClientID, DateTime Begin, DateTime End, ref int VisitsCount)
{
	DataTable dt = new DataTable();
	using (OleDbConnection connection = GetConnection())
	{
		dt.TableName = "VisitStatistic";
		using (OleDbCommand command = new OleDbCommand("SELECT  DateValue(Visits.InputDate) AS InputDate FROM Visits INNER JOIN Clients ON Visits.ClientID = Clients.ClientID WHERE Clients.ClientID = @ClientID AND (Visits.InputDate BETWEEN @Begin_ AND @End_)", connection))
		{
			command.Parameters.Add(new OleDbParameter("@ClientID", ClientID));
			command.Parameters.Add(new OleDbParameter("@Begin_", OleDbType.Date));
			command.Parameters["@Begin_"].Value = Begin.Date;
			command.Parameters.Add(new OleDbParameter("@End_", OleDbType.Date));
			DateTime en = End.AddDays(1);
			command.Parameters["@End_"].Value = en.Date;
			OleDbDataAdapter da = new OleDbDataAdapter(command);
			dt.Columns.Add("Num", System.Type.GetType("System.DateTime"));
			dt.Columns[0].AutoIncrement = true;
			dt.Columns[0].AutoIncrementSeed = 1;
			dt.Columns[0].AutoIncrementStep = 1;
			da.Fill(dt);
			VisitsCount = dt.Rows.Count;
		}
	}
	return dt;
}

автор: oxotnik

Поделиться:

Похожие статьи: