Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql format daty i godziny przy użyciu c#

Robisz błąd, próbując na początek umieścić wartość bezpośrednio w zapytaniu SQL. Użyj sparametryzowanego SQL i określ wartość jako DateTime i zakładając, że tabela bazy danych to również używając pola daty/daty/godziny (które powinno być), powinno być dobrze.

Należy unikać dołączania wartości bezpośrednio do kodu SQL z trzech powodów:

  • Skończysz z kłopotliwymi konwersjami ciągów, które mogą używać nieodpowiednich formatów itp. To jest tutaj problem.
  • Zapraszasz ataki typu SQL injection
  • Mieszasz kod i dane, co utrudnia odczytanie kodu i sprawdzenie danych

Chcesz coś takiego:

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
}

Jeśli Des.despdate nie jest już odpowiedni typ danych, należy go zmienić...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można użyć mysql_real_escape_string

  2. Wyszukiwanie na żywo JQuery KeyUp. Jak?

  3. mysql timediff do godzin

  4. Python:połączenie MySQL jest otwarte, ale nie można utworzyć kursora

  5. Błąd zakleszczenia MySQL