Apparently, the date and time returned from the database are not the same as those presented in the datapicker and the textbox.
You can help yourself by doing a debug, use the Debug.Write method to check the values of the data and time returned from the database against those from the user.
Check this out on how to use
Debug.Write [
^]
One of the possible reason for these discrepancies could be the different date and time format used in the database.