Delphi中如何引用FireDAC的字段名?

更新于
2026-10-05 02:44:23
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计355个文字,预计阅读时间需要2分钟。

我正在开发一个在多个数据库上运行的应用程序,其中每个数据库都使用自己的方式来引用保留字作为字段名。例如,使用 `key` 作为字段名时,应写作 `select `key` from mytable`,而不是 `select key from mytable` 或 `select [key] from`。

我正在开发一个在多个数据库上运行的应用程序,其中许多数据库都有自己的方式来引用保留字作为字段名称,例如
例如

select `key` from mytable

要么

select "key" from mytable

要么

select [key] from mytable

我想知道是否有一个预处理器命令(或其他一些机制)可以自动确定用于给定数据库的正确引号字符.是的(在有人评论之前)我不应该使用保留字来表示字段名称,但是模式已经预定义了(几十年前).

对于常量SQL命令字符串,您可以使用{id}标识符替换 escape sequence.示例用法:

FDQuery1.SQL.Text := 'SELECT {id Key} FROM {id MyTable}'; FDQuery1.Open;

对于代码中的分配,您可以将substitution variable宏与AsIdentifier访问器一起使用.示例用法:

FDQuery1.SQL.Text := 'SELECT &KeyCol FROM &TheTable'; FDQuery1.MacroByName('KeyCol').AsIdentifier := 'Key'; FDQuery1.MacroByName('TheTable').AsIdentifier := 'MyTable'; FDQuery1.Open;

标签:字段

本文共计355个文字,预计阅读时间需要2分钟。

我正在开发一个在多个数据库上运行的应用程序,其中每个数据库都使用自己的方式来引用保留字作为字段名。例如,使用 `key` 作为字段名时,应写作 `select `key` from mytable`,而不是 `select key from mytable` 或 `select [key] from`。

我正在开发一个在多个数据库上运行的应用程序,其中许多数据库都有自己的方式来引用保留字作为字段名称,例如
例如

select `key` from mytable

要么

select "key" from mytable

要么

select [key] from mytable

我想知道是否有一个预处理器命令(或其他一些机制)可以自动确定用于给定数据库的正确引号字符.是的(在有人评论之前)我不应该使用保留字来表示字段名称,但是模式已经预定义了(几十年前).

对于常量SQL命令字符串,您可以使用{id}标识符替换 escape sequence.示例用法:

FDQuery1.SQL.Text := 'SELECT {id Key} FROM {id MyTable}'; FDQuery1.Open;

对于代码中的分配,您可以将substitution variable宏与AsIdentifier访问器一起使用.示例用法:

FDQuery1.SQL.Text := 'SELECT &KeyCol FROM &TheTable'; FDQuery1.MacroByName('KeyCol').AsIdentifier := 'Key'; FDQuery1.MacroByName('TheTable').AsIdentifier := 'MyTable'; FDQuery1.Open;

标签:字段