Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

formato de data e hora do mysql usando c #


Você está errado ao tentar incluir um valor diretamente em sua consulta SQL para começar. Use SQL parametrizado e especifique o valor como um DateTime , e assumindo que sua tabela de banco de dados também usando um campo de data/data e hora (o que deveria ser), você deve estar bem.

Você deve evitar incluir valores diretamente em seu SQL por três motivos:
  • Você terá conversões de string problemáticas que podem usar formatos inadequados etc. Esse é o problema aqui.
  • Você está convidando ataques de injeção de SQL
  • Você está misturando código e dados, o que dificulta a leitura do código e a verificação dos dados

Você quer 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
}

Se Des.despdate não é já um tipo de dados adequado, você deve alterar isso ...