Форматирование данных MySQL с помощью c # (date) и DateTimePicker - PullRequest
0 голосов
/ 19 ноября 2010

У меня есть приложение Windows Form, которое взаимодействует с удаленной базой данных.база данных содержит 2 таблицы.

Пользователь может ввести дату в MaskedTextBox, а затем обновить запись, нажав кнопку и выполнив задание.Однако раздражает использование maskedtextbox, поскольку столбцы MySQL Date принимают формат YYYY-MM-DD.Таким образом, пользователь должен ввести, например, 2010-11-15 в замаскированное текстовое поле, чтобы оно работало (это работает, но вводить этот формат не так интуитивно понятно).Вместо этого я хочу использовать DateTimePicker, но так как это свойство «text» управляет форматом DD-MM-YYYY, при приведении к строке оно выглядит как 15-11-2010.MySQL, очевидно, не обрабатывает это правильно.

Как лучше всего справиться с этим, если я проанализирую 3 набора чисел (день, месяц, год) из Datetimepicker.text?или есть способ изменить фактический формат, который принимает дата MySQL?Или я мог бы отредактировать SQL-статистику, чтобы изменить формат даты возврата?

Вот SQL-статистика, которую я использую в случае ее использования:

commandinsert.CommandText = "insert into jobs (id,date) values ('" + comboBox1.Text + "','" + maskedTextBox1.Text + "')";

Спасибо завперед.

1 Ответ

1 голос
/ 19 ноября 2010

Вы должны передать тексты, используя параметры.
Затем вы можете передать свойство DateTimePicker SelectedDate непосредственно в качестве параметра, и клиент MySQL отправит правильные данные.

Это также предотвратит атаку SQL-инъекцией.

Для получения дополнительной информации см. здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...