Първо, изглежда сте объркан относно разликата между DateTime
обект и форматирания String
представяне на този DateTime
обект. Now
, или още по-добре, DateTime.Now
вече е DateTime
обект, така че няма смисъл да го форматирате като низ и след това да анализирате низа, за да го върнете обратно в DateTime
стойност отново. Така че можете просто да направите това, за да постигнете същото:
Dim timestamp As Date = Date.Now
Имайте предвид, че във VB.NET, Date
е ключова дума, която е съкратена от DateTime
, точно като Integer
е "съкратено" за Int32
.
Второ, не трябва да добавяте DateTime
стойности директно в командния низ на SQL. Трябва да използвате параметризирана заявка. Когато добавите DateTime
стойност към SQL низа, трябва да се уверите, че е форматиран правилно (чрез извикване на timestamp.ToString(...)
). За съжаление обаче кой формат е правилният ще зависи изцяло от настройките на културата на сървъра. Така че много по-добре е да използвате параметър на DB, задайте стойността на параметъра, равна на действителния DateTime
обект и след това оставете доставчика на DB да направи преобразуването вместо вас.