sql >> Base de Datos >  >> RDS >> Mysql

formato de fecha y hora mysql usando c#

Te equivocas al intentar incluir un valor directamente en tu consulta SQL para empezar. Use SQL parametrizado y especifique el valor como DateTime , y asumiendo que la tabla de su base de datos es también usando un campo de fecha/fechahora (que debería ser), debería estar bien.

Debe evitar incluir valores directamente en su SQL por tres razones:

  • Terminarás con conversiones de cadenas problemáticas que pueden usar formatos inapropiados, etc. Ese es el problema aquí.
  • Está invitando a ataques de inyección SQL
  • Estás mezclando código y datos, lo que hace que sea más difícil leer el código y verificar los datos

Quieres algo como:

string sql = @"Select distinct v.* from Ven v 
               inner join Des d on v.venid=d.venid 
               and cast(d.despdate as datetime) between @start and @end";
using (MySqlCommand command = new MySqlCommand(connection, sql))
{
    command.Parameters.AddWithValue("@start", startDateTime);
    command.Parameters.AddWithValue("@end", endDateTime);
    // Execute the command here
}

Si Des.despdate no es ya es un tipo de datos adecuado, debe cambiar eso...