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.