Передача значения DataTimePicker в SQL запрос на C#?

Здравствуйте.

Есть проект Windows Forms на C#, с использованием БД Access. Различная сортировка работает стандартных встроенных запросах и вывод

this.hotelTableAdapter.FillByLonger(this.hoteldbDataSet.hotel);

в таком формате.

Осталось сделать последнее, это сортировка по дате. Для этого нужно передать выбранную дату в DataTimePicker в SQL запрос.

C#
здесь не уверен тоже
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    DateTime result = dateTimePicker1.Value;
    this.Text = result.ToString();
}


SQL

SELECT        id, [ФИО проживающего], [Дата заселения], [Дата выселения], [Гостиничный номер]
FROM            hotel
WHERE        ([Дата выселения] LIKE '" + dateTimePicker1.Text"')

Вопрос. Как правильно выполнить сортировку по заданной дате? Правильно ли передаётся параметр? Ругается на To_DATE() в запросе. Как это сделать, до сих пор ещё не решил. Выяснил только, что формат для запроса должен получиться примерно таким #13/11/2013#
  • Вопрос задан
  • 7145 просмотров
Решения вопроса 2
deleted-sh_fi5t
@deleted-sh_fi5t

Вы просите сортировку и при этом передаете дату в "WHERE"... Если я вас правильно понял, то нужно вам следующее:


var sqlCmd = new SqlCommand(@"SELECT 	id, 
					[ФИО проживающего], 
					[Дата заселения], 
					[Дата выселения], 
					[Гостиничный номер]
FROM			hotel
WHERE			([Дата выселения] LIKE '@dpDate')"");

sqlCmd.Parameters.Add("@dpDate", SqlDbType.DateTime);
sqlCmd.Parameters["@dpDate"] = dateTimePicker1.Value;

Ответ написан
Deia
@Deia Автор вопроса

Рабочее решение


 this.hotelTableAdapter.FillByExit(this.hoteldbDataSet.hotel, new System.Nullable<system.datetime>(((System.DateTime)(System.Convert.ChangeType(dateTimePicker1.Value, typeof(System.DateTime))))));

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
deleted-sh_fi5t
@deleted-sh_fi5t

удалено

Ответ написан
Комментировать
@Teacher

Добрый день. И, если позволите, в дополнение к предыдущему совету, дату лучше хранить в формате даты, а не строки. У вас столбец [Дата выселения] ведь строка?

Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы