procedure TForm_Main.CB_Nom_Specialite_DemandeChange(Sender: TObject);
begin
DM.FDQ_Find.SQL.Clear;
DM.FDQ_Find.open('select ID_Specialite from Specialite where Nom_Specialite = ' + (CB_Nom_Specialite_Demande.text) ) ;
ID_Specialite := 0 ;
ID_Specialite := DM.FDQ_Find.FieldByName('ID_Specialite').AsInteger ;
end;
You can use SysUtils.QuotedStr()
:
DM.FDQ_Find.Open('select ID_Specialite from Specialite where Nom_Specialite = ' + QuotedStr(CB_Nom_Specialite_Demande.Text));
However, it would be better to use a parameterized query instead, eg:
DM.FDQ_Find.Open('select ID_Specialite from Specialite where Nom_Specialite = :specialite', [CB_Nom_Specialite_Demande.Text]);
Alternatively:
DM.FDQ_Find.SQL.Text := 'select ID_Specialite from Specialite where Nom_Specialite = :specialite';
DM.FDQ_Find.ParamByName('specialite').AsString := CB_Nom_Specialite_Demande.Text;
DM.FDQ_Find.Open;