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

Преобразование значения из maskedTextBox в MySqlDbType.Time

04.10.2017, 09:59. Показов 1893. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
У меня есть dataGridView, к которой в качестве источника данных подключена БД MySQL. Пытаюсь реализовать добавление строки по введенным данным.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
connStr = "server=localhost;user=root;database=test;password=;"
conn = new MySqlConnection(connStr);
conn.Open();
MySqlCommand cmd2 = new MySqlCommand("INSERT INTO `Тестовая` (`id`, `Фамилия`, `Дата_рождения`, `Пол`, `Время_начала`, `Время_окончания`) VALUES(@ID, @Sur, @Date, @Sex, @start, @end)", conn);
cmd2.Parameters.Add("@ID", MySqlDbType.Int32);
cmd2.Parameters["@ID"].Value = maxValue + 1;
cmd2.Parameters.Add("@Sur", MySqlDbType.VarChar);
cmd2.Parameters["@Sur"].Value = textBox1.Text;
cmd2.Parameters.Add("@Date", MySqlDbType.Date);
cmd2.Parameters["@Date"].Value = dateTimePicker1.Value;
cmd2.Parameters.Add("@Sex", MySqlDbType.VarChar);
cmd2.Parameters["@Sex"].Value = comboBox1.Text;
DateTime start = Convert.ToDateTime(maskedTextBox1.Text);
cmd2.Parameters.Add("@start", MySqlDbType.Time);
cmd2.Parameters["@start"].Value = start.ToShortTimeString();
DateTime end = Convert.ToDateTime(maskedTextBox2.Text);
cmd2.Parameters.Add("@end", MySqlDbType.Time);
cmd2.Parameters["@end"].Value = end.ToShortTimeString();
cmd2.ExecuteNonQuery();
Всё работает, кроме преобразования из maskedTextBox (с маской «__:__») в MySqlDbType.Time. Возникает "Fatal error encountered during command execution."
В чем может быть причина и как можно реализовать это преобразование?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2017, 09:59
Ответы с готовыми решениями:

Преобразование значения из textvield в тип Time
Требуется помощь мне нужно ввести время в textvield и заполнить этим временем столбец в базе данных у столбца тип данных (time without time...

MaskedTextBox как использовать short date and time(US)
Доброй ночи инженерам :) Подскажите мне пожалуйста как использовать формат в MaskedTextBox - short date and time(US) Я...

Вывод ошибки при вводе некорректного значения в MaskedTextBox
Здравствуйте, у меня вопрос по поводу события Validating: у меня есть на форме maskedTextBox1, у которого установлена маска ввода времени,...

3
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
05.10.2017, 08:52
сделайте конвертацию этого поля в DateTime, задав маску только времени, потом проверяйте, что оно != 00:00 (по умолчанию может ругнуться на непереносимость этого времени, или нужно отключить проверку на нулевое время) - и потом передавайте уже. Ошибка должна будет исчезнуть.
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18267 / 14190 / 5368
Регистрация: 17.03.2014
Сообщений: 28,879
Записей в блоге: 1
05.10.2017, 09:32
Moonmoth, зачем преобразовывать строку в дату, а потом обратно в строку? Что мешает сразу передать строку из maskedTextBox?

Цитата Сообщение от Moonmoth Посмотреть сообщение
Возникает "Fatal error encountered during command execution."
Это всё? Больше ничего в исключении не пишется?
1
0 / 0 / 0
Регистрация: 30.04.2017
Сообщений: 20
05.10.2017, 17:42  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Это всё? Больше ничего в исключении не пишется?
Да, только это.

Уже разобрался. Сделал так:
C#
1
2
3
4
cmd2.Parameters.Add("@start", MySqlDbType.DateTime);
cmd2.Parameters["@start"].Value = Convert.ToDateTime(maskedTextBox1.Text);
cmd2.Parameters.Add("@end", MySqlDbType.DateTime);
cmd2.Parameters["@end"].Value = Convert.ToDateTime(maskedTextBox2.Text);
Вначале боялся, что параметр типа MySqlDbType.DateTime не сможет записаться в поле БД типа TIME (без даты). Но оказалось, что он записывается без проблем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.10.2017, 17:42
Помогаю со студенческими работами здесь

Преобразование даты в Unix-time
Нужна формула или функция для преобразование даты в Unix-time. Например: На вход дата: Sun Apr 26 00:06:00 2015 На выход...

Преобразование tinyint в time SQL
Добрый день всем! Есть поле Data(тип date) есть поле hour (тип tinyint) нужно получить путем соединения этих двух полей третье поле...

Преобразование строки даты в объект LocaleDate с русской локалью (JAVA TIME API 8)
/*анализ строки и преобразование в объект LocalDate*/ private LocalDate getAsLocalDate (String dateStr){ String...

Не могу разобраться с заданием "Создайте класс Time с конструкторами Time(), Time( int hour)......"
/* Создайте класс Time с конструкторами Time(), Time( int hour), Time(int hour, int min), Time( int h, int m, int s) и ...

Преобразование значения переменной (long) через функцию в значения структуры
Я недавно начал заниматься С++ и программированием в целом. Вот у меня такая проблема. В этой программе не работает часть, когда...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru