Without your code, it is difficult to be sure, but try using a parameterized query - you should use them anyway to avoid Sql Injection Attacks. If you are concatenating strings to form your sql UPDATE statement, it may be a localization thing. Since both Value and Value.Date return a DateTime value, you should be able to use them directly.
using (SqlCommand com = new SqlCommand("UPDATE myTable SET myDateColumn=@DAT WHERE Id=@ID", con))
{
com.Parameters.AddWithValue("@ID", Id);
com.Parameters.AddWithValue("@DAT", dateTimePicker2.Value.Date);
com.ExecuteNonQuery();
}