Ten eerste lijkt u in de war te zijn over het verschil tussen een DateTime
object en de opgemaakte String
weergave van die DateTime
object. Now
, of nog beter, DateTime.Now
is al een DateTime
object, dus het heeft geen zin om het op te maken als een tekenreeks en vervolgens de tekenreeks te ontleden om deze terug te krijgen in een DateTime
waarde weer. U kunt dit dus eenvoudig doen om hetzelfde te bereiken:
Dim timestamp As Date = Date.Now
Merk op dat in VB.NET, Date
is een trefwoord dat een afkorting is voor DateTime
, net als Integer
is "kort" voor Int32
.
Ten tweede zou je DateTime
niet moeten toevoegen waarden rechtstreeks in de SQL-opdrachtreeks. U zou een geparametriseerde query moeten gebruiken. Wanneer u de DateTime
. toevoegt waarde toe aan de SQL-tekenreeks, moet u ervoor zorgen dat deze correct is opgemaakt (door timestamp.ToString(...)
aan te roepen ). Helaas hangt het juiste formaat echter volledig af van de cultuurinstellingen van de server. Het is dus veel beter om een DB-parameter te gebruiken, de parameterwaarde gelijk te stellen aan de werkelijke DateTime
object, en laat de DB-provider de conversie voor u doen.