The best solution to the date problem is to restrict users from entering invalid dates. This can be done on either the client or the server side.
        Restricting invalid dates on the client side is as simple as
        always using the .NET DateTime class to
        handle dates. The DateTime class will only
        allow valid dates, ensuring that the values in your database are
        also valid. The disadvantage of this is that it is not useful in
        a mixed environment where .NET and non .NET code are used to
        manipulate the database, as each application must perform its
        own date validation.
      
        Users of MySQL 5.0.2 and higher can use the new
        traditional SQL mode to restrict invalid date
        values. For information on using the
        traditional SQL mode, see
        Server SQL Modes.