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

Tracing API

Como acompanho o Blog da BCLTeam, Mike Rousos está escrevendo uma série de artigos sobre o Tracing (System.Diagnostics) do .NET que vale a pena dar uma olhada. Até então, os links são: