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

używanie c# datetime w zapytaniu o aktualizację mysql

Zasadniczo należy unikać bezpośredniego dołączania wartości do zapytania.

Bez wątpienia mogłeś umieść wartość w cudzysłowie... ale nie powinieneś. Zamiast tego powinieneś użyć sparametryzowanego SQL i umieścić wartość w parametrze. W ten sposób nie będziesz podatny na błędy konwersji ciągów znaków, unikniesz ataków typu SQL injection (dla parametrów ciągów) i oddzielisz kod od danych.

(Jako przykład tego, jak subtelnie to może być złamane, twój bieżący kod użyje separatorów daty i godziny "bieżącej kultury" - które mogą nie być / i : . Możesz to naprawić, określając CultureInfo.InvariantCulture ... ale najlepiej w ogóle nie wykonywać konwersji.)

Poszukaj dokumentacji Parameters właściwość na dowolnym Command typ, którego używasz (np. MySqlCommand.Parameters ), które, miejmy nadzieję, dadzą Ci przykłady. W dokumentacji może nawet znajdować się samouczek dotyczący sparametryzowanego SQL. Na przykład ta strona może bądź tym, czego szukasz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql sum, z identyfikatorami wierszy

  2. Sprawdź czas odpowiedzi na wysłanej wiadomości - możliwe przy użyciu tylko SQL?

  3. Mysql MySQL lub PHP Przekształć wiersze w dwie kolumny dynamicznie

  4. Rozmiary indeksów w MySQL

  5. 3 sposoby na znalezienie wierszy zawierających wielkie litery w MySQL