Mysql
 sql >> Base de données >  >> RDS >> Mysql

format de date et d'heure mysql en utilisant c #

Vous vous trompez en essayant d'inclure une valeur directement dans votre requête SQL pour commencer. Utilisez SQL paramétré et spécifiez la valeur comme DateTime , et en supposant que votre table de base de données est aussi en utilisant un champ date/datetime (ce qui devrait être le cas), ça devrait aller.

Vous devez éviter d'inclure des valeurs directement dans votre SQL pour trois raisons :

  • Vous vous retrouverez avec des conversions de chaînes gênantes qui peuvent utiliser des formats inappropriés, etc. C'est le problème ici.
  • Vous invitez les attaques par injection SQL
  • Vous mélangez code et données, ce qui complique la lecture du code et la vérification des données

Vous voulez quelque chose comme :

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 n'est pas déjà un type de données approprié, vous devriez le changer...