Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
5 / 5 / 4
Регистрация: 01.08.2012
Сообщений: 65

Не удаётся получить результат запроса по дате

01.10.2012, 10:31. Показов 1668. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет Всем.
Как получить дату виде dd/MM/yyyy с помощью dateTimePicker1
Делал так dateTimePicker1.Value.Date.ToString("dd/MM/yyyy") // резулт dd.MM.yyyy
место этого делаю так
C#
1
2
3
4
5
6
7
8
9
10
             // ----  dateTimePicker1 ------
            String d1 = dateTimePicker1.Value.ToString("dd");
            String m1 = dateTimePicker1.Value.ToString("MM");
            String y1 = dateTimePicker1.Value.ToString("yyyy");
            String data1 =d1+"/"+m1+"/"+y1;
             // ----  dateTimePicker2 ------
            String d2 = dateTimePicker2.Value.ToString("dd");
            String m2 = dateTimePicker2.Value.ToString("MM");
            String y2 = dateTimePicker2.Value.ToString("yyyy");
            String data2 =d2+"/"+m2+"/"+y2;
Результат вроде устраивает НО
делаю запрос
C#
1
2
         OleDbCommand command = connection.CreateCommand();
         command.CommandText = "Select * from kk where  data_regis>=#" + data1 + "# and data_regis<=#" + data2 + "#";
В результате запроса например по 01/09/2012 and 01/10/2012 он не чо не показывать хотя в сентябре есть данные а если 01/09/2012 and 30/01/2012 то показывает все данные этого месяца + данные из месяца август июнь ...
Короче говоря он показывать те данные которые совпадают только по дням а по месяцу и году не работает.
База в MsAccess тип данных = "Дата/время", Формат поля = "Краткий формат даты"
Значение поля date_regis = 01.09.2012 ....
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2012, 10:31
Ответы с готовыми решениями:

Получить результат запроса
Здравствуйте. Подскажите, пожалуйста, как можно получить результат запроса вот сам запрос MySqlDataAdapter adapter2 = new...

Преобразовать результат запроса к дате
Здравствуйте. Добавлено через 6 минут Здравствуйте. Пытаюсь присвоить переменной результат запроса: (выбарает максимальную дату...

Как получить результат SQL запроса?
простейший запрос select * from Table where name='Андрей'т.е. вообще существует такая запись.

8
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
02.10.2012, 08:57
Да, с аксессом сам парился по выборке по датам, Пробуйте так
C#
1
command.CommandText = "Select * from kk where  data_regis>='" + data1 + "' and data_regis<='" + data2 + "'";
0
5 / 5 / 4
Регистрация: 01.08.2012
Сообщений: 65
02.10.2012, 16:17  [ТС]
Цитата Сообщение от gitarillo Посмотреть сообщение
command.CommandText = "Select * from kk where data_regis>='" + data1 + "' and data_regis<='" + data2 + "'";
Ошибка: Несоответствие типов данных в выражении условия отбора
0
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
02.10.2012, 16:18
data1 - какой тип?
0
5 / 5 / 4
Регистрация: 01.08.2012
Сообщений: 65
02.10.2012, 17:09  [ТС]
Цитата Сообщение от gitarillo Посмотреть сообщение
data1 - какой тип?
База в MsAccess тип данных = "Дата/время", Формат поля = "Краткий формат даты"

Добавлено через 50 минут
а может както конвертировать date1 и date2?
типа Convert.ToDateTime(data1)
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
02.10.2012, 18:07
Используйте параметры, и забудьте про подстановку значений с помощью конкатенации.
Код будет проще и надежней.
C#
1
2
3
4
OleDbCommand command = connection.CreateCommand();
command.CommandText = "Select * from kk where  data_regis>=? and data_regis<=?";
command.Parameters.Add("@date_start", OleDbType.Date).Value = dateTimePicker1.Value;
command.Parameters.Add("@date_end", OleDbType.Date).Value = dateTimePicker2.Value;
Имена @date_start, @date_end в данном случае не имеют значения, так как используется привязка параметров по позиции(по порядку), а не по имени.
0
5 / 5 / 4
Регистрация: 01.08.2012
Сообщений: 65
03.10.2012, 08:55  [ТС]
turbanoff
Проста класс. Все отлично работает за исключением одного. В запросе не работает условия "=" т.е если дать запрос от 01.09.2012 до 01.10.2012 то результат будет от 02.09.2012 до 30.09.2012
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
03.10.2012, 09:29
Не работал с access, но могу предположить, что проблема в том, что даты хранят время вплоть до секунд. Поэтому <= 01.10.2012, на самом деле означает <= 01.10.2012 00:00:00.
Выход тут - точно указывать границы или откидывать секунды.
Возможно, поможет такое исправление:
C#
1
2
3
command.CommandText = "Select * from kk where  data_regis>=? and data_regis<?";
command.Parameters.Add("@date_start", OleDbType.Date).Value = dateTimePicker1.Value;
command.Parameters.Add("@date_end", OleDbType.Date).Value = dateTimePicker2.Value.AddDays(1);
1
5 / 5 / 4
Регистрация: 01.08.2012
Сообщений: 65
03.10.2012, 09:55  [ТС]
Запрос 1.
От 01.09.2012 до 01.10.2012
C#
1
2
3
command.CommandText = "Select * from kk where  data_regis>=? and data_regis<?";
command.Parameters.Add("@date_start", OleDbType.Date).Value = dateTimePicker1.Value;
command.Parameters.Add("@date_end", OleDbType.Date).Value = dateTimePicker2.Value.AddDays(1);
Результат все запись от .. до .. + 2 октября

Запрос 2.
От 01.09.2012 до 01.10.2012
но теперь по другому
C#
1
2
3
command.CommandText = "Select * from kk where  data_regis>=? and data_regis<=?";
command.Parameters.Add("@date_start", OleDbType.Date).Value = dateTimePicker1.Value.AddDays(-1);
command.Parameters.Add("@date_end", OleDbType.Date).Value = dateTimePicker2.Value;//.AddDays(1);
Результат Работает т.е все записи от.. до.. есть и еще я добавил в базу еще одну строку по дате 31.08.2012 этого запись не показывает в результате запроса т.е то что надо...
Спасибо turbanoff
 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.(Правила п.3.6)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.10.2012, 09:55
Помогаю со студенческими работами здесь

Как получить результат итогового запроса?
Имеется запрос: Select count(*) from MyTab Как в asp-странице проще вывести результат на экран (в данном примере количество записей).

Получить результат запроса в виде HTML
Привет форумчанам! Необходимо в браузере выводить результат requests запроса. bla = get(url) a = bla.text Сохраняю переменную в HTML ...

как получить результат запроса select
Подскажите пожалуйста, есть ли возможность в с++ получить результат запроса Добавлено через 1 минуту Подскажите пожалуйста, есть ли...

Как получить результат запроса к базе?
Итак... скрипт выполняется , никаких сообщений об ошибках... но есть маленькая проблема, я не могу получить результат запроса в...

Как получить результат запроса в переменную?
С помощью запроса получаю данные из некоего dbf-файла. Над полученными данные потом производятся всякие операции. Вопрос такой: как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru