Sorry, I had tried responding by email, but that was bounced. I recompiled this 
morning and now it works. No changes to the code at all. Don't you just love 
computers?
 

 Many thanks for all you ideas and the quick response.
 

 Anyway, for completeness here is the spec of components etc 
 

 Delphi XE2, FireDAC TADQuery, Firebird 2.5.2 with fbClient.dll - all fully 
updated

 

 to remove any variability with passing the variable to routine, the email 
address has been hard coded. So code is:
 

 Database
 record 1 : email = pam.o'[email protected]
 record 2 :  email = [email protected]
 

 Code
resourcestring
 sql = 'SELECT * FROM PERSON WHERE EMAIL = :EMAIL';
 sql1 = 'SELECT * FROM PERSON WHERE EMAIL = ''%s''';
...
begin
emailvar := 'pam.o''[email protected]';
 emailvar1 := '[email protected]'; 
 

 AQuery := TADQuery.Create(nil);
 try
   AQuery.SQL.Text := sql;
   AQuery.ParamByName('EMAIL').AsString := emailvar;
   AQuery.Open;
   result := not AQuery.IsEmpty;
   AQuery.Close;
 finally

   AQuery.Free;
 end;
 

 end;
 

 

 

---In [email protected], <reinierolislagers@...> wrote:

 On 16/10/2013 00:48, russell@... mailto:russell@... wrote:
 > Yes caught me out to, a single quote is allowed in email addresses to
 > the left of the @ apparently.
 
 AFAIU, you still haven't indicated what data access components you use
 with Delphi. As I think Mark said, the db access component should deal
 with the quoting of the parameter for you.
 

Reply via email to