delphi – 如果我为不存在的参数调用ParamByName会发生什么?

前端之家收集整理的这篇文章主要介绍了delphi – 如果我为不存在的参数调用ParamByName会发生什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是Delphi的新手,并收到了以下代码(省略了一些不相关的部分),我正试图了解它的作用:
object SelectCosts: TIBQuery
    sql.Strings = (
      'SELECT * FROM costs '
      'WHERE code = :code')
    ParamData = <
      item
        DataType = ftUnknown
        Name = 'code'
        ParamType = ptUnknown
      end>
  end

在另一个文件中,使用该查询,但添加了未在查询中定义的参数.

DM_HRV.SelectCosts.ParamByName('part').Value := 1;

此参数“part”是否会改变所做的选择?换句话说:SQL查询是否自动更改为以下内容

'SELECT * FROM costs '
  'WHERE code = :code'
  'AND part = :part'

解决方法

这意味着可能在运行时更改sql语句.因此,当使用该查询时,sql已经包含AND part =:part.

如果sql语句不包含此额外参数部分,则在分配ParamByName(‘part’)时将引发异常.值:= 1.

我假设你没有混淆SelectCosts引用(它在DM_HRV而不是其他DM).

原文链接:https://www.f2er.com/delphi/102399.html

猜你在找的Delphi相关文章