Ik ben het eens met de opmerking van SirRufo hier. Het juiste antwoord op "hoe doe ik dit?" is "doe dat niet; dat is de verkeerde manier om het te doen."
Als u op die manier waarden rechtstreeks in de zoekopdracht plakt, kunnen hackers een manier vinden om dingen in uw zoekopdracht te plaatsen die worden geïnterpreteerd als SQL-opdrachten. Dit staat bekend als SQL-injectie , en het is de afgelopen decennia verantwoordelijk geweest voor miljarden dollars aan schade. (Niet overdreven.)
De juiste manier om dit te doen is door uw SQL-code netjes te scheiden van uw gegevens, met behulp van parameters, zoals zo:
ADOQuery1.SQL.Clear;
//: before an identifier specifies a parameter
ADOQuery1.SQL.Add('SELECT tbl.emailAddress, tbljob.Time FROM '+
'dbwindowwash.tblclient, dbwindowwash.tbljob, dbwindowash.tbljobclientworker '+
'WHERE tbljobclientworker.jobID = tbljob.jobID AND '+
'tbljobclientworker.clientID = tblclient.clientID AND tbljob.Date = :date';
//parse the query and find parameter declarations
ADOQuery1.Prepare;
//set a value for the parameter
ADOQuery1.ParamByName['date'].AsDateTime := TodaysDate;
ADOQuery1.Open
De exacte syntaxis voor het instellen van de waarde van een parameter kan verschillen van het ene datasettype tot het andere, maar dat zou u het basisidee moeten geven.