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

Ошибки при работе со временем

09.05.2021, 16:40. Показов 2741. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен поиск по id и одновременно с периодом времени , но при запуске выдает ошибку "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'between # + date1+ #) AND between # + date2 + #)' at line 1". В бд вариант времени такой - 2021-04-01 12:37:00

C#
1
2
3
4
5
6
7
8
9
 string CommandText = "SELECT * FROM transaction;";
            // формируем переменную CommandText
            string date1 = dateTimePicker1.Value.ToString("yyyy-MM-dd hh:mm:ss").Replace('.', '-');
            string date2 = dateTimePicker2.Value.ToString("yyyy-MM-dd hh:mm:ss").Replace('.', '-');
            CommandText = "SELECT * FROM transaction WHERE (client_id='"+textBox2.Text+ "') AND between # + date1+ #) AND between # + date2 + #);";
            MySqlDataAdapter dataAdapter = new MySqlDataAdapter(CommandText, ConnectionString);
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds, "transaction");
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2021, 16:40
Ответы с готовыми решениями:

Рост количества глобальных переменных при работе с временем
Всем привет! Пишу GUI там мне для почти каждого спрайта нужен свой временной интервал срабатывания сам интервал реализую...

Устранение проблемы с неправильным временем при работе из-под wine
В приложениях, запущенных из-под wine (отличных от самой свежей версии), сейчас время показывается неправильно. Порывшись на форумах, нашёл...

Ошибки при работе с динамическим массивом: неверный числовой формат при вводе
Выдаёт ошибку "неверный числовой формат при вводе" и "попытка разыменовать нулевой указатель"

17
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
09.05.2021, 16:45
AND between # + date1+ #)
AND что between?

Добавлено через 52 секунды
Формат: колонка between значение1 and значение2
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
09.05.2021, 17:11  [ТС]
Поменял код выдает ошибку MySql.Data.MySqlClient.MySqlException: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'between #2021-04-01 05:10:44# AND #2021-05-09 05:10:44#)' at line 1"
Code
1
2
3
4
5
6
7
8
9
    string CommandText = "SELECT * FROM transaction;";
            // формируем переменную CommandText
            string date1 = dateTimePicker1.Value.ToString("yyyy-MM-dd hh:mm:ss").Replace('.', '-');
            string date2 = dateTimePicker2.Value.ToString("yyyy-MM-dd hh:mm:ss").Replace('.', '-');
            CommandText = "SELECT * FROM transaction WHERE (client_id='"+textBox2.Text+ "') AND between #" + date1 + "# AND #" + date2 + "#);";
            MySqlDataAdapter dataAdapter = new MySqlDataAdapter(CommandText, ConnectionString);
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds, "transaction");
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
09.05.2021, 18:14
SQL
1
SELECT FROM ... WHERE bithday BETWEEN @date1 AND @date2
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
09.05.2021, 18:35  [ТС]
Та же ошибка
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
09.05.2021, 21:16
Цитата Сообщение от Амир07021 Посмотреть сообщение
Та же ошибка
Где код и где ошибка ?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
09.05.2021, 21:42
Цитата Сообщение от Амир07021 Посмотреть сообщение
Поменял
Цитата Сообщение от kolorotur Посмотреть сообщение
Формат: колонка between значение1 and значение2
Цитата Сообщение от Амир07021 Посмотреть сообщение
AND between #" + date1 + "# AND #" + date2 + "#
А где колонка?
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
09.05.2021, 22:56  [ТС]
Немного не догоняю что за колонка ?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
10.05.2021, 00:13
Цитата Сообщение от Амир07021 Посмотреть сообщение
Немного не догоняю что за колонка ?
Имеется в виду название поля (колонки) в таблице, из которой делается выборка
Эту колонку и надо указывать в where как в примере в [4] - bithday - это имя поля таблицы.

Добавлено через 2 минуты
Покажите структуру таблицы transaction
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
10.05.2021, 00:38  [ТС]
Вот
Миниатюры
Ошибки при работе со временем  
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
10.05.2021, 01:52
Амир07021, Я попросил структуру таблицы, а не данные в ней.

Добавлено через 54 секунды
Какого типа у Вас поле time_reg ?
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
10.05.2021, 02:29  [ТС]
DATETIME
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
10.05.2021, 02:32  [ТС]
Вот структура ,немного не понял вопрос
Миниатюры
Ошибки при работе со временем  
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
10.05.2021, 10:12
Цитата Сообщение от Амир07021 Посмотреть сообщение
что за колонка ?
Ну прочитайте уже ваш запрос вслух.

Цитата Сообщение от Амир07021 Посмотреть сообщение
SELECT * FROM transaction WHERE (client_id='"+textBox2.Text+ "') AND between #" + date1 + "# AND #" + date2 + "#
Выбрать все колонки из таблицы transaction где client_id равен значению из текстового поля и между датой1 и датой2.
Ничего не смущает?

Что между датой1 и датой2?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
10.05.2021, 12:10
Амир07021,
C#
1
2
3
4
5
6
7
8
string CommandText = "SELECT * FROM transaction WHERE client_id=@cid and time_reg between @d1 and @d2";
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(CommandText, ConnectionString);
dataAdapter.Parameters.AddWithValue("@id",Int32.Parse(textBox2.Text));
dataAdapter.Parameters.AddWithValue("@d1",dateTimePicker1.Value);
dataAdapter.Parameters.AddWithValue("@d2",dateTimePicker2.Value);
DataSet ds = new DataSet();
dataAdapter.Fill(ds, "transaction");
dataGridView1.DataSource = ds.Tables[0].DefaultView;
Добавлено через 25 минут
Если нужно выбирать по time_pay, то
C#
1
string CommandText = "SELECT * FROM transaction WHERE client_id=@cid and cast(time_pay as datetime)  between @d1 and @d2"
Но по-хорошему, date_pay в таблице тоже должна быть datetime. А то у Вас окрошка какая-то в БД
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
10.05.2021, 13:21  [ТС]
Вставил код но он выдает такую ошибку .
Ошибка CS1061 "MySqlDataAdapter" не содержит определения "Parameters", и не удалось найти доступный метод расширения "Parameters", принимающий тип "MySqlDataAdapter" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).Я так понял нужно подключить библиотеку,но какую именно?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
10.05.2021, 15:47
Лучший ответ Сообщение было отмечено Амир07021 как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
string CommandText = "SELECT * FROM transaction WHERE client_id=@cid and time_reg between @d1 and @d2";
MySqlConnection connection = new MySqlConnection(ConnectionString);
MySqlCommand command = new MySqlCommand(CommandText, connection);
command.Parameters.AddWithValue("@id",Int32.Parse(textBox2.Text));
command.Parameters.AddWithValue("@d1",dateTimePicker1.Value);
command.Parameters.AddWithValue("@d2",dateTimePicker2.Value);
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(command);
DataSet ds = new DataSet();
dataAdapter.Fill(ds, "transaction");
dataGridView1.DataSource = ds.Tables[0].DefaultView;
Добавлено через 2 минуты

Не по теме:

Вы сами хоть что-нибудь можете посмотреть и разобраться ?
Я не работаю с мускулом и у меня его нет на ПК, но я лазию в гугл и ищу информацию для Вас.
Почему Вы самостоятельно не может сделать это ?



Добавлено через 2 минуты
https://coderoad.ru/52449262/%... %8E-scalar
0
0 / 0 / 0
Регистрация: 31.03.2018
Сообщений: 13
10.05.2021, 16:02  [ТС]
Большое спасибо. Я еще учусь и некоторые моменты не понимаю. Вы сильно помогли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2021, 16:02
Помогаю со студенческими работами здесь

Ошибки при работе
Здравствуйте.У меня такая проблема.Купил недавно ноутбук,с установленной Базовой Windows7.При попытке переименовать папку,в которой...

Ошибки при работе Windows
У меня начала глючить винда (windows xp pro sp2), даже не знаю после чего, короче симптомы такие: -в internet explorer глючит java...

Ошибки при работе программы
Пишу программу-бота для личных нужд, собственно поэтому и зарегался на самом живом форуме. Дельфин ЕХ3, юзаю компонент TWebBrowser...

Ошибки при работе с XML
Прошу прощения. Новую тему создал по причине отсутствия темы для "общих проблем" (или что то типа того). Работая с XML файлом (в...

Ошибки при работе со строками
Доброго времени суток! Есть такой код #include <stdio.h> #include <iostream> #include <string> using namespace std; int main...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
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
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru