such as
< /p>
select `key` from mytable
or
select "key" from mytable
Either
select [key] from mytable
I want to know if there is a preprocessor command (or some other mechanism) that can automatically Determine the correct quote character to use for a given database. Yes (before someone commented) I shouldn’t use reserved words to denote field names, but the pattern is already predefined (decades ago).
FDQuery1.SQL.Text :='SELECT {id Key} FROM {id MyTable}';
FDQuery1.Open;
For the assignment in the code, you can use the substitution variable macro with the AsIdentifier accessor. Example usage:
FDQuery1.SQL.Text :='SELECT &KeyCol FROM &TheTable';
FDQuery1.MacroByName('KeyCol').AsIdentifier :='Key';
FDQuery1.MacroByName('TheTable') .AsIdentifier :='MyTable';
FDQuery1.Open;
I am developing an application that runs on multiple databases, many of which have Use your own way to quote reserved words as field names, such as
such as
select `key` from mytable
either
select "key" from mytable
Either
select [key] from mytable
I want to know if there is a preprocessor command (or some other mechanism) that can automatically determine the The correct quote character for a given database. Yes (before someone commented) I shouldn’t use reserved words to denote field names, but the pattern has been predefined (decades ago).
For constant SQL command strings, you can use {id} identifier to replace escape sequence. Example usage:
FDQuery1.SQL.Text :='SELECT {id Key} FROM {id MyTable}';
FDQuery1.Open;
For the allocation in the code, you can add substitution variable macro is used with the AsIdentifier accessor. Example usage:
FDQuery1.SQL.Text :='SELECT &KeyCol FROM &TheTable';
FDQuery1.MacroByName('KeyCol').AsIdentifier :='Key';
FDQuery1.MacroByName('TheTable').AsIdentifier :='MyTable';
FDQuery1.Open ;