Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/47: Рейтинг темы: голосов - 47, средняя оценка - 4.94
3 / 2 / 1
Регистрация: 28.05.2010
Сообщений: 121

Сравнение даты(DateTime, С#) с Access

15.11.2011, 10:53. Показов 8960. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Как можно сравнить в SQL запросе дату которая в базе с тему что у меня есть в программе.
Тоесть у меня в программе есть 2 перевенные типа DateTime.
Мне нужно сделать из базы выборку тех записей которые между этими записями.
В базе стоит тип "Дата.Время" и данные записаны так "15.10.2011 8:29:11"
В C# Дата хранится с переменной DateTime.
Пишу запросы таким образом и не работает.

C#
1
string s=("SELECT * FROM Учёт WHERE Дата>"+x+" AND Дата<"+y+"");
C#
1
string s=("SELECT * FROM Учёт WHERE Дата>#"+x+"# AND Дата<#"+y+"#");
C#
1
string s=("SELECT * FROM Учёт WHERE Дата BEETWEN#"+x+"# AND #"+y+"#");
C#
1
string s=("SELECT * FROM Учёт WHERE Дата BEETWEN"+x+" AND "+y+"");
C#
1
string s = ("SELECT * FROM Учёт WHERE DATE(Дата) BEETWEN '" + x + "' AND '" + y + "'");
Нииикакой не работает. Уже не знаю что делать...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.11.2011, 10:53
Ответы с готовыми решениями:

Сравнение даты в строковом представлении с датой в виде datetime
Всем рривет! Возможно кто то сталкивался с такой проблемой когда надо сравнить две даты но одна из них в виде объекта DateTime а...

Несоответствие формата даты System.DateTime и DATETIME в SQL Express Edition
Столкнулся с такой проблемой: В System.DateTime дата пишется в формате дд.мм.гггг чч.мм.сс, а DATETIME в SQL Express Edition хочет получать...

Сравнение даты при использовании IIS 5.1 + ASP + MS Access DB
В чем может быть трабл при использовании IIS 5.1 + ASP + MS Access DB При пропытке сравни даты в SQL запросе выдает синтаксическую...

6
7 / 7 / 0
Регистрация: 25.05.2010
Сообщений: 38
15.11.2011, 17:03
Вот мой код, в нем я сравниваю несколько параметров, если включены чекбоксы.
обрати внимание, дата сравнивается через параметр - так я обошел проблеммы с преобразованием форматов.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  public void GeFilesSrez(string dbname,
               Boolean CheckIncludeMask, string mask1,                          //Включение по маске
               Boolean CheckExcludeMask, string mask2,                          //Исключение по маске
               Boolean CheckCreation, DateTime Cr_start, DateTime Cr_End,       //Дата создания
               Boolean CheckAccess, DateTime Ac_start, DateTime Ac_End,         //Дата доступа
               Boolean CheckChange, DateTime Ch_start, DateTime Ch_End,         //Дата изменения
               Boolean CheckHidden,                                             //Скрытый
               Boolean CheckOnlyRead,                                           //Только чтение
               Boolean CheckEncrypt,                                             //Зашифрован
               Boolean CheckMinSize, string minsize,                              //Минимальный размер
               Boolean CheckMaxSize, string maxsize,                               //Максимальный размер
               Boolean CheckExtension, string Ext                               //Максимальный размер
                   )
          {    
            string CS = @"Data Source=" + setup.AppDir + @"Data\" + dbname + ".sdf;Persist Security Info=False;";
            SqlCeConnection con = new SqlCeConnection(CS);
 
            string sql = "Select folders.Dir, files.* from files , folders where files.dir_id = folders.id and ";
 
 
            if (CheckIncludeMask) sql += "files.NAME LIKE '%" + mask1 + "%' AND ";
            if (CheckExcludeMask) sql += "files.NAME NOT LIKE '%" + mask1 + "%' AND ";
            if (CheckCreation) sql += " files.CreationTime between @date1 and @date2 AND";
            if (CheckAccess) sql += " files.LastAccessTime between @date3 and @date4 AND";
            if (CheckChange) sql += " files.LastWriteTime between @date5 and @date6 AND";
            if (CheckOnlyRead) sql += " files.ReadOnly = 1 AND";
            if (CheckHidden) sql += " files.Hidden = 1 AND";
            if (CheckEncrypt) sql += " files.Encrypted = 1 AND";
            if (CheckMinSize) sql += " files.Size >= " + minsize + " AND ";
            if (CheckMaxSize) sql += " files.Size <= " + maxsize + " AND ";
            if (CheckExtension) sql += " files.Extention LIKE '." + Ext + "' AND ";
            sql += " 1=1";
            SqlCeCommand com = new SqlCeCommand(sql, con);
            SqlCeDataAdapter da = new SqlCeDataAdapter();
            com.Parameters.Add("@date1", SqlDbType.DateTime, 8).Value = Cr_start;
            com.Parameters.Add("@date2", SqlDbType.DateTime, 8).Value = Cr_End;
            com.Parameters.Add("@date3", SqlDbType.DateTime, 8).Value = Ac_start;
            com.Parameters.Add("@date4", SqlDbType.DateTime, 8).Value = Ac_End;
            com.Parameters.Add("@date5", SqlDbType.DateTime, 8).Value = Ch_start;
            com.Parameters.Add("@date6", SqlDbType.DateTime, 8).Value = Ch_End;
            try
            {
                da.SelectCommand = com;
                da.Fill(global.dtFsrez);
            }
            catch (Exception ex)
            {
                MessageBox.Show("GetFilesSrez\n" + ex.ToString()+"\nСодержимое запроса\n\n"+sql);
            }
        }
0
10 / 10 / 1
Регистрация: 13.01.2011
Сообщений: 34
16.11.2011, 10:54
Я перепробовал всевозможные методы, самый эффективный (и правильный на мой взгляд) задавать даты через параметры, как написал Frustrator. Если нужны подробности, распишу в красках
0
3 / 2 / 1
Регистрация: 28.05.2010
Сообщений: 121
16.11.2011, 20:03  [ТС]
Проблему решил таким образом.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"D:\base.mdb");
            DataTable x = new DataTable(); 
            OleDbDataAdapter dr = new OleDbDataAdapter("SELECT * FROM Учёт", con);
            dr.Fill(x);
            DataTableReader reader = new DataTableReader(x);
            while (reader.Read())
                {
                    DateTime d1 = Convert.ToDateTime(reader[4].ToString());
                    if (d1<y)
                    {
                        baseDataSet1.Tables["Доход"].Rows.Add(reader[0], reader[1], reader[2], reader[3], reader[4]);
                    }
                    
                }
0
4 / 4 / 3
Регистрация: 20.11.2013
Сообщений: 150
27.04.2016, 02:34
Ребят подскажите как правильно задать условие при котором будет показываться форма

Например Если дата из базы (locadb) равно дате сегодня = показываем форму3

И куда это нужно прописать в саму форму главную?

Спасибо
0
27.04.2016, 16:20
 Комментарий модератора 
Цитата Сообщение от dripservice Посмотреть сообщение
как правильно
dripservice, правильно будет создать свою тему и там задавать вопросы. Не надо поднимать темы из могилы.
0
4 / 4 / 3
Регистрация: 20.11.2013
Сообщений: 150
27.04.2016, 19:37
Это запрещено? тогда удаляйте такие темы.. я то откуда должен знать это...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2016, 19:37
Помогаю со студенческими работами здесь

Сравнение DateTime - Почему сравнение запаздывает на 1 мин
public DateTime NextShort(DateTime cur, int ofset, int period) { var temp = (cur.Minute / period) * period + ofset;...

Выборка данных через сравнение даты в DataGridView и текущей даты
Ситуация такова: в датагриде есть столбец с определенной датой. Нужно сравнить все даты с этого столбца с датой, задаваемой...

Сравнение DateTime
Вот такой код string connstr = &quot;Server=192.168.5.155;Uid=freeopt.ru;Pwd=7igwhqdhfS;Database=freeopt;CharSet=utf8mb4;convert zero...

Сравнение в DateTime
DateTime time = DateTime.Now; int h = time.Hour; if (s &gt;= 18 &amp;&amp; s &lt; 00) { TextBox1.Text = &quot;Добрый вечер!&quot;; } Как тут быть?...

DateTime без даты
Добрый день. Подскажите, как создать DateTime без даты? Мне нужны только часы, минуты и день недели. А остальное должно быть константно....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru