Първо, изглежда сте объркан относно разликата между 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 да направи преобразуването вместо вас.