Запрос с использованием данных в таблице и локальных переменных (C # и MS-Access, oledb) - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь выбрать данные из таблицы, используя OLEDB Библиотеки. По сути, у меня есть диапазон дат в обеих датах в полях записи (Доступ), у меня также есть другое поле, необходимое для выбора данных.

У меня есть локальная переменная, содержащая информацию о дате / времени, мне нужно вывести данные, где это значение, содержащееся в переменной, находится в диапазоне с двумя датами в записи, а запись содержит другое значение, которое будет сравниваться с локальная переменная. Любая помощь, просто показывая основной синтаксис и запросы будет принята с благодарностью.

Я искал для сравнения и запроса между диапазонами дат и мне не повезло.

cmd.CommandText = "SELECT FirstName, LastName, Email, PhoneNumber, 
                   NumberOfGuests, StartDate, NumberOfNights, Breakfast, 
                   RoomType, EmployeeName,  Comments FROM Booking WHERE 
                   StartDate <= " + dtpRoomSearch.Value + "AND + 
                   EndDate >= dtpRoomSearch.Value;

Нужно выводить эту информацию в виде строки (извините, неверный синтаксис, я не знаю, где я должен ставить речевые метки и т. Д.)

Мне нужно сделать запрос, используя как локальные переменные, так и значения, хранящиеся в полях таблицы, например StartDate (поле адресации в таблице) и EndDate (поле адресации в таблице по сравнению с локальными значениями. Кроме того, как бы я пошел по поводу структурирования синтаксиса

1 Ответ

0 голосов
/ 14 января 2019

Вам нужен правильный синтаксис и формат строковых выражений для значений даты:

cmd.CommandText = "SELECT FirstName, LastName, Email, PhoneNumber, 
                   NumberOfGuests, StartDate, NumberOfNights, Breakfast, 
                   RoomType, EmployeeName, Comments FROM Booking WHERE 
                   StartDate <= #" + dtpRoomSearch.ToString("yyyy'/'MM'/'dd") + "# AND 
                   EndDate >= #" + dtpRoomSearch.ToString("yyyy'/'MM'/'dd") + "#;"
...