For det første ser du ud til at være forvirret over forskellen mellem en DateTime objekt og den formaterede String repræsentation af den DateTime objekt. Now , eller endnu bedre, DateTime.Now er allerede en DateTime objekt, så det giver ingen mening at formatere det som en streng og derefter parse strengen for at få det tilbage til en DateTime værdi igen. Så du kan simpelthen gøre dette for at opnå det samme:
Dim timestamp As Date = Date.Now
Bemærk, at Date i VB.NET er et nøgleord, der er en forkortelse for DateTime , ligesom Integer er "kort" for Int32 .
For det andet bør du ikke tilføje DateTime værdier direkte i SQL-kommandostrengen. Du skal bruge en parametriseret forespørgsel. Når du tilføjer DateTime værdi til SQL-strengen, skal du sikre dig, at den er formateret korrekt (ved at kalde timestamp.ToString(...) ). Desværre afhænger hvilket format der er korrekt, helt af serverens kulturindstillinger. Så det er langt bedre at bruge en DB-parameter, sæt parameterværdien lig med den faktiske DateTime objekt, og lad derefter DB-udbyderen udføre konverteringen for dig.