Inserindo Datas no SQL Server


Umas preocupações que mais vejo quando alguém quer incluir datas em uma coluna do tipo DateTime no banco de dados SQL Server 2000 é saber qual o formato enviar. Já vi muitos casos onde o pessoal faz algo do tipo:

     Dim d As DateTime = DateTime.Now
     Dim query As String = “INSERT INTO Tabela VALUES(‘” & d.ToString(“MM/dd/yyyy”) & “‘)”

Eu particularmente também já tive essa dúvida e ao procurar saber, o segredo está em não espeficar um formato como é feito acima, deixando o SqlParameter/SqlCommand se encarregar de fazer essa trabalho por nós. Para consertar o código acima, fazendo da forma correta, temos que criar os devidos parametros para o campo (não somente do tipo data, mas qualquer um) e executar a query. Abaixo o exemplo:

     Dim cmd As New SqlCommand(“INSERT INTO Tabela VALUES(@Data)”, conn)

     Dim data As New SqlParameter(“@Data”, SqlDbType.DateTime)
     data.Value = DateTime.Now
     cmd.Parameters.Add(data)
     ‘….
     cmd.ExecuteNonQuery()

Anúncios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s