TFDTable.AppendRecord 注入安全

Is TFDTable.AppendRecord Injection-Safe

有一个方法procedure AppendRecord(const Values: array of const);存在于TDataSetTFDTable等。如果我们深入TDataset源(我没有FireDac源).数据由 SetFields(Values);Fields[I].AssignValue(Values[I]) 方法设置。 我想知道在 SQL 注入方面传递这样的东西是否安全:MyFireDacDS.AppendRecord([..., Edit1.Text, ...])?

AppendRecord 不使用任何 Values 作为可执行文件 SQL,因此不会比参数化查询更容易受到 SQL 注入的影响。

SQL 注入仅适用于使用未经验证的输入动态构造的 SQL,并且由于 AppendRecord 不使用此类 SQL,因此不受 SQL 风险的影响注射。

(当然,您可以通过尝试将 SQL 作为 Value 项之一传递并查看会发生什么来自己测试。)