In principe moet u voorkomen dat u rechtstreeks waarden in uw zoekopdracht opneemt.
Ongetwijfeld kunt zet aanhalingstekens rond de waarde... maar dat zou je niet moeten doen. In plaats daarvan moet u geparametriseerde SQL gebruiken en de waarde in de parameter plaatsen. Op die manier voer je geen foutgevoelige stringconversie uit, vermijd je SQL-injectieaanvallen (voor stringparameters) en scheid je code van data.
(Als een voorbeeld van hoe subtiel dit kan zijn, gebruikt je huidige code de scheidingstekens voor datum en tijd van de "huidige cultuur" - die mogelijk niet /
zijn en :
. U kunt dit oplossen door CultureInfo.InvariantCulture
op te geven ... maar het is het beste om de conversie helemaal niet uit te voeren.)
Zoek naar documentatie van een Parameters
eigenschap op wat voor Command
type dat u gebruikt (bijv. MySqlCommand.Parameters
) die u hopelijk voorbeelden zal geven. Er is mogelijk zelfs een zelfstudiegedeelte in de documentatie voor SQL met parameters. Bijvoorbeeld deze pagina
mag wees wat je zoekt.