SQL Server DateTime y C # DateTime

En mi servidor SQL tengo una tabla muy simple para probar, que solo contiene tres filas:ID, Date yHours. (varchar, DateTime, varchar).

El formato DateTime en SQL es como:yyyy-MM-dd HH:mm:ss.fff.

El formato de DateTime en C # es como:yyyy-dd-MM HH:mm:ss.fff.

Uso el siguiente código para obtener el formato C # DateTime:

 string ddd = "2012-10-10 00:00:00.000";
 dt1 = DateTime.ParseExact(ddd, "yyyy-MM-dd HH:mm:ss.fff", null);

Si trato de hacerlo enyyyy-dd-MM Me sale un error:

El DateTime, que está representado por la cadena, no es compatible con el calendario.

En mi aplicación de C # estoy tratando de encontrar la cantidad total de horas entre las fechas de los sund. De alguna manera lo puse a trabajar, pero solo funciona para fechas entre 01 y 12.

Asi como de2012-01-10 a2012-10-10 (diez días) me dará la cantidad correcta de horas totales de la base de datos.

Pero cuando escribo2012-01-10 a2012-14-10 (catorce días) me sale un error:

La conversión de un tipo de datos char a un tipo de datos de fecha y hora resultó en un fuera de rango "

Gracias de antemano.

PD. ¿Puede sugerir una forma más fácil de obtener fechas?

consulta mySQL

string CommandText = "SELECT * FROM date_test WHERE id = '4' AND date BETWEEN '" + dt1 + "' AND '" + dt2 + "'";

He resuelto el problema pero no la solución.

El problema es que la base de datos SQL mira el formato y quiere aaaa-MM-dd, pero C # solo puede enviar aaaa-dd-MM.

Por qué no puedeParseExact() hacer yyyy-MM-dd?

Respuestas a la pregunta(2)

Su respuesta a la pregunta