gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:43:24 24 4
gpt4 key购买 nike

我对 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语句不包含这个额外参数part ,分配 ParamByName('part').Value := 1 时会引发异常.

我假设你没有混淆SelectCosts引用(位于 DM_HRV 而不是其他 DM)。

关于delphi - 如果我为不存在的参数调用 ParamByName 会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8880091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com