How to INSERT date into SQL database date column using dateTimePicker?

前端 未结 5 1603
暗喜
暗喜 2020-12-16 08:38

I have a birthdate column of type Date in sql database

And in my application I use a dateTimePicker to get the birth date

But when

5条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-16 09:20

    What you really should do is use parameters to avoid SQL injection attacks - and it also frees you from string formatting dates - also a good thing!

    //cmd is sql command
    cmd.CommandText = "INSERT INTO dbo.Person(birthdate) VALUES(@Birthdate);";
    
    cmd.Parameters.Add("@Birthdate", SqlDbType.Date).Value = dateTimePicker.Value.Date;
    
    //con is sql connection
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    

    Also, it's a recommend best practice to put your SqlConnection, SqlCommand and SqlDataReader into using(....) { .... } blocks to ensure proper disposal:

    string connectionString = ".......";
    string query = "INSERT INTO dbo.Person(birthdate) VALUES(@Birthdate);";
    
    using (SqlConnection con = new SqlConnection(connectionString))
    using (SqlCommand cmd = new SqlCommand(query, conn))
    {
         cmd.Parameters.Add("@Birthdate", SqlDbType.Date).Value = dateTimePicker.Value.Date;
    
         con.Open();
         cmd.ExecuteNonQuery();
         con.Close();
    } 
    

提交回复
热议问题