Primeiro, você parece estar confuso sobre a diferença entre um
DateTime
objeto e a String
formatada representação desse DateTime
objeto. Now
, ou melhor ainda, DateTime.Now
já é um DateTime
objeto, então não faz sentido formatá-lo como uma string e, em seguida, analisar a string para recuperá-la em um DateTime
valor novamente. Então, você pode simplesmente fazer isso para realizar a mesma coisa:Dim timestamp As Date = Date.Now
Observe que no VB.NET,
Date
é uma palavra-chave que é abreviação de DateTime
, assim como Integer
é "curto" para Int32
. Segundo, você não deve anexar
DateTime
valores diretamente na cadeia de comando SQL. Você deve estar usando uma consulta parametrizada. Quando você anexa o DateTime
valor para a string SQL, você deve certificar-se de que está formatado corretamente (chamando timestamp.ToString(...)
). Infelizmente, no entanto, qual formato é adequado dependerá inteiramente das configurações de cultura do servidor. Portanto, é muito melhor usar um parâmetro de banco de dados, defina o valor do parâmetro igual ao DateTime
real objeto e, em seguida, deixe o provedor de banco de dados fazer a conversão para você.