sql >> Databasteknik >  >> RDS >> Mysql

använder c# datetime i mysql-uppdateringsfrågan

I grund och botten bör du undvika att inkludera värden i din fråga direkt.

Ingen tvekan om att du kunde sätt citattecken runt värdet... men du borde inte. Istället bör du använda parametriserad SQL och sätta värdet i parametern. På så sätt gör du inte en felbenägen strängkonvertering, du undviker SQL-injektionsattacker (för strängparametrar) och du separerar kod från data.

(Som ett exempel på hur subtilt brutet detta kan vara, kommer din nuvarande kod att använda "nuvarande kulturens" datum- och tidsseparatorer - som kanske inte är / och : . Du kan fixa detta genom att ange CultureInfo.InvariantCulture ... men det är bäst att inte göra konverteringen alls.)

Leta efter dokumentation för en Parameters egenskap på vilket Command som helst typ du använder (t.ex. MySqlCommand.Parameters ) som förhoppningsvis ger dig exempel. Det kan till och med finnas ett handledningsavsnitt i dokumentationen för parametrerad SQL. Till exempel, denna sida kan vara vad du är ute efter.



  1. Spotlight Cloud-stöd för Azure SQL DB Announcement (förhandsgranskning)

  2. Diskutrymmeskonsekvenser av att ställa in MySQL-kolumnvärdet till NULL istället för 0 eller ''

  3. Android Studio 3.0 canary 1:SQL-syntaxfel

  4. flerbildsuppladdning fel kvantitet vid filuppladdning