Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 12
.NET 4.x

Сравнение дат DATEDIFF

21.02.2023, 21:11. Показов 668. Ответов 4
Метки sql (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Хочу сравнить даты при sql запросе с помощью DATEDIFF и получаю "Отсутствует значение для одного или нескольких требуемых параметров".
C#
1
2
3
4
5
6
7
8
9
10
11
12
            public void SelectDB2DataGridView(DataTable result, DataGridView dataGridView1, string sql_query)
            {
                string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExePath + "\\res\\Lamps.mdb;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=Пароль";
                OleDbConnection connection = new OleDbConnection(connectionString);
                connection.Open();
                OleDbCommand OleDbComm = new OleDbCommand(sql_query, connection);
                OleDbDataAdapter adapter = new OleDbDataAdapter(OleDbComm);
                adapter.Fill(result);
                dataGridView1.DataSource = result;
                OleDbComm.ExecuteNonQuery();                
                connection.Close();
            }
Вот не могу понять в чем ошибся.
C#
1
2
3
4
5
6
7
8
9
10
11
12
DB DB3 = new DB();
            DataTable result_lock = new DataTable();
            string DateNow_lock = DateTime.Now.ToShortDateString();
 
            string sql_lock = "SELECT issue_date, material, destination FROM materials WHERE DATEDIFF(mm, issue_date, '" + DateNow_lock + "') <= 3 ORDER BY number";
 
            DB3.SelectDB2DataGridView(result_lock, dataGridView3, sql_lock);
            dataGridView3.Columns[0].HeaderText = "Материал";
            dataGridView3.Columns[1].HeaderText = "Назначение";
            //Итого 157                
            dataGridView3.Columns[0].Width = 78; //Материал 
            dataGridView3.Columns[1].Width = 80; //Назначение
Причем ругается на
C#
1
adapter.Fill(result)
в SelectDB2DataGridView
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.02.2023, 21:11
Ответы с готовыми решениями:

Сравнение дат
есть таблица, в которой в 1 столбце есть даты, как сделать так, что бы в таблице выводились даты раньше сегодняшней?

Oracle и C#. Сравнение дат.
Здравствуйте. Моя проблема: В БД Oracle есть таблица Cards_journal2. Ее структура: Мне надо выбрать те значения CHANGE_MONEY,...

Сравнение дат
Добрый день! Нужна ваша помощь. Задача в следующем: есть дата в формате 30 дек 2015, нужно узнать это раньше или позже, допустим, 20 окт...

4
 Аватар для Andrey-MSK
3360 / 2246 / 388
Регистрация: 14.08.2018
Сообщений: 7,589
Записей в блоге: 4
22.02.2023, 08:17
Цитата Сообщение от WolfnrWolfness Посмотреть сообщение
C#
1
string sql_lock = "SELECT issue_date, material, destination FROM materials WHERE DATEDIFF(mm, issue_date, '" + DateNow_lock + "') <= 3 ORDER BY number";
Дата в MS Acces пишется в запросах вот так - #2/2/2012#. И что бы не было ошибок с типами данных используйте параметры.
0
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 12
22.02.2023, 18:47  [ТС]
Ммм... У меня issue_date имеет формат дд. мм. гггг, а текущая дата тоже выводится в таком же формате. Не через слеш. Все типа string. Или я вас не понял.
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
22.02.2023, 18:49
Лучший ответ Сообщение было отмечено WolfnrWolfness как решение

Решение

WolfnrWolfness, выводится или хранится? вы в DATEDIFF стринги пихаете?
0
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 12
22.02.2023, 20:45  [ТС]
В общем, сделал так:
C#
1
2
string sql_lock = "SELECT material, destination FROM materials WHERE (YEAR(DATE()) - YEAR(issue_date) <= 1) and " +
"(MONTH(DATE()) - MONTH(issue_date) <=3 or MONTH(DATE()) - MONTH(issue_date) >=10) ORDER BY number";
и работает. Может можно и проще, но я не додумался.

Добавлено через 6 минут
Ага, их самых пихал. Где-то в интернете прочитал, что startdate и enddate должны быть string. После вашего вопроса понял ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.02.2023, 20:45
Помогаю со студенческими работами здесь

Сравнение дат
Мне нужно прочитать данные из текстовика а именно дату и время и сравнить их. но оператор &quot;&gt;=&quot; невозможно применить к операнду...

Сравнение дат
Здравствуйте. Мне нужно получить разницу между датами, получаю я ее таким методом: public void Compare(Airplane a1, Airplane a2) ...

Сравнение дат
Помогите пожалуйста в решении одной проблемы. Мне нужно, чтобы на экране выводилось сообщение, если уже время больше 14:00. Будьте добры,...

Сравнение дат
Дата формируется из 3 чисел формата int. Т.е. день первой даты day1, день второй даты day2. месяц первой даты manth1, месяц второй...

Сравнение дат
Возникла проблема. Пишу дипломный проект, руководителем проекта была поставлена задача сделать сравнение времени. То есть Есть база...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru