datetime для DateTimePicker VB.Net в длинном формате и наоборот

Можно ли даже сохранить значение DateTimePicker (длинный формат) в datetime (база данных). Затем сделайте обратное из datetime (datebase), установленного в DateTimePicker. У нас есть более простой код для этого?

Я использую MySQL в форме Windows VB.Net.

вот мой код в vb.net:

'" & date1.Value.ToString("yyyy-MM-dd") & " " & date1_time.Value.ToString("hh:mm:ss") & "." & Now.Millisecond & "'

в MySQL: date1 datetime

1 ответ

Предполагая, что вы говорите о Windows Forms DateTimePickerнечего делать Format а также CustomFormat Свойства элемента управления определяют только то, как отображаются данные. Value свойство все еще типа DateTime и это не имеет формата. Это просто число. Когда вы сохраняете в базу данных, вы сохраняете это DateTime Значение и он получает - или, по крайней мере, он должен - хранится в базе данных в своем родном типе данных даты / времени, так что формат снова не проблема. В MySQL, как правило, вы должны использовать DATE тип данных для дат без временной части или DATETIME для значений с датой и временем. Ни в коем случае вы не должны преобразовывать значения в текст самостоятельно во всем этом процессе. Эта часть обрабатывается DateTimePicker контроль.

Если вы используете соответствующий тип данных в базе данных, как звучит, как вы, то вы получите DateTime из базы данных. Вы просто присваиваете это непосредственно свойству value, например

myDateTimePicker.Value = CDate(myDataRow("MyColumn"))

или же:

myDateTimePicker.Value = myDataReader.GetDateTime(myDataReader.GetOrdinal("MyColumn"))

Чтобы сохранить данные обратно в базу данных, вы просто создаете параметр в своей команде так же, как и для любых других данных, а затем назначаете DateTime к Value этого параметра, например

myCommand.Parameters.Add("@MyColumn", MySqlDbType.DateTime).Value = myDateTimePicker.Value

Если вы не знаете, как работают параметры, посмотрите сейчас, так как это единственный приемлемый способ вставки переменных в код SQL.

Другие вопросы по тегам