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.