Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 16.07.2017
Сообщений: 23

Выбор даты в datetimepicker

22.08.2017, 13:36. Показов 4576. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, проблема такая. При выборе даты запрос выдает все или ничего(не могу понять систему), даже если выбрать период позже. Знаю что у меня первая дата с 1 января 2015, вот если выбрать 01.01.2015 или 01.12.2014 или даже 02.02.2015 выдает все, а если выбрать 29.12.2014 не показывает ничего. Со вторым тоже неполадки
C#
1
2
3
4
5
6
7
8
9
10
11
  private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("Data Source=КАТЯ-VAIO\\SQLEXPRESS4;Initial Catalog=BD-4;Integrated Security=True;");
            con.Open();
            SqlDataAdapter sdf = new SqlDataAdapter("SELECT DISTINCT [Date],[Phone ] ,[Type] FROM Operator3 where [Date] BETWEEN'" + dateTimePicker1.Value.ToString()+ "'AND'" + dateTimePicker2.Value.ToString + "'", con);
            SqlCommandBuilder sb = new SqlCommandBuilder(sdf);
            DataTable sd = new DataTable();
            sdf.Fill(sd);
            dataGridView1.DataSource = sd;
            con.Close();
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.08.2017, 13:36
Ответы с готовыми решениями:

Использовать выбор даты в dataGridView как в DateTimePicker
есть данные отображающиеся в dataGridView. и 2 столбца имеют типа "дата". хотелось бы выбирать дату в них, как при помощи DateTimePicker. ...

Смена даты в datetimepicker при смене времени в другом поле datetimepicker
есть два поля date time picker, одно для изменения времени второе для изменения даты... нужно при попадании часов до 00 ночи, чтобы...

Как узнать количество дней между значением текущей даты и даты в поле dateTimePicker?
есть некое значение поля dateTimePicker 1. как работать например с месяцем, в этом значении (сравнивать его с другими)? 2. как узнать...

5
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
22.08.2017, 17:13
Лучший ответ Сообщение было отмечено Sveta822 как решение

Решение

Проблема в формате даты, получаемой из метода ToString() Используй формат yyyyMMdd. Это будет работать всегда. Ну и записать в более удобной форме:
C#
1
2
3
4
5
6
SqlDataAdapter sdf = new SqlDataAdapter(string.Format("SELECT DISTINCT [Date],[Phone ],[Type] " +
    "FROM Operator3 " +
    "WHERE [Date] " +
    "BETWEEN'{0:yyyyMMdd}' " +
    "AND " +
    "'{1:yyyyMMdd}'", dateTimePicker1.Value, dateTimePicker2.Value), con);
0
0 / 0 / 0
Регистрация: 16.07.2017
Сообщений: 23
22.08.2017, 20:53  [ТС]
ViterAlex, спасибо большое! Я немного усложнила запрос, теперь ругается на другое

C#
1
2
3
SqlDataAdapter sdf = new SqlDataAdapter(string.Format("EXEC sp_msforeachtable @command1 = 'SELECT [Date],[Type], "+
                "[Phone ] FROM Operator1 WHERE [Date] "+
                 "BETWEEN {0:yyyyMMdd}  AND {1:yyyyMMdd}'", dateTimePicker1.Value, dateTimePicker2.Value), con);

Структура таблицы такая
SQL
1
2
3
4
CREATE TABLE Operator1 
([DATE][nvarchar](255) NULL,
[TYPE][FLOAT] NULL,
[Phone][FLOAT] NULL)
Ошибка такая: Ошибка преобразования значения nvarchar "2016-01-01 10:40:08.000" в тип данных int
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
23.08.2017, 01:56
Лучший ответ Сообщение было отмечено Sveta822 как решение

Решение

Sveta822, ты потеряла одиночные кавычки в датах
0
0 / 0 / 0
Регистрация: 16.07.2017
Сообщений: 23
23.08.2017, 23:31  [ТС]
ViterAlex, Вы правы, почти потеряла. Я с ними экспериментировала. Методом тыка нашла решение, здесь в датах надо одинарные кавычки, только два раза поставить их.
C#
1
2
3
SqlDataAdapter sdf = new SqlDataAdapter(string.Format("EXEC sp_msforeachtable @command1 = 'SELECT [Date],[Type], "+
                "[Phone ] FROM Operator1 WHERE [Date] "+
                 "BETWEEN ' '{0:yyyyMMdd}' '  AND ' ' {1:yyyyMMdd}' ' ' ", dateTimePicker1.Value, dateTimePicker2.Value), con);
Может пригодится кому. Вероятно из-за процедуры.

Можно еще вопрос. В [Date] кроме числа, также есть время. Как можно переделать, чтоб отбиралось еще и с учетом времени?
0
0 / 0 / 0
Регистрация: 16.07.2017
Сообщений: 23
26.08.2017, 20:34  [ТС]
Экспериментальным путем решение найдено. Чтобы выбирались и дата и время одновременно в моем коде надо было написать так
C#
1
2
3
SqlDataAdapter sdf = new SqlDataAdapter(string.Format("EXEC sp_msforeachtable @command1 = 'SELECT [Date],[Type], "+
                "[Phone ] FROM Operator1 WHERE [Date] "+
                 "BETWEEN {0:yyyyMMdd HH:mm:ss}  AND {1:yyyyMMdd HH:mm:ss}'", dateTimePicker1.Value, dateTimePicker2.Value), con);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.08.2017, 20:34
Помогаю со студенческими работами здесь

Формат даты DateTimePicker
Всем привет! Нужно преобразовать дату в формат ДД:ММ:ГГГГ, но постоянно на выводе указываются часы 0:00:00. Не пойму как обойти это....

Формат даты в DateTimePicker
Проблема состоит вот в чем - из базы мне надо считать строку, выборка происходит по дате: OleDbCommand plan = new...

Вывод даты их dateTimePicker
Всем привет, вопрос, я задаю дату в dateTimePicker и хочу чтобы выводилось дд.мм.гг Как это реализовать??? _message =...

Установка даты в DateTimePicker
1. Сейчас при вводе даты с клавиатуры пользователю нужно вводить точку после дд и мм. Как сделать чтобы точка ставилась автоматически? ...

Форматирование даты в DateTimePicker
Есть код: SqlConnection conn = new SqlConnection(connectionString); conn.Open(); SqlCommand myCommand = conn.CreateCommand(); ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru