我很新的德尔福并取得了以下一段代码(遗漏了一些无关痛痒的部分),为此我想了解它做什么:如果我为不存在的参数调用ParamByName,会发生什么情况?
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,在组件中设置它很容易出现很多将来的错误。 – ComputerSaysNo 2012-01-16 13:27:29
@DorinDuminica它不是我自己的代码,但我需要查看代码来检查它的功能。感谢您的信息,但未来可能会有所帮助! – Maza89 2012-01-16 13:45:49
@DorinDuminica:到目前为止还没有注意到!但是,我意识到我可能仍然会在未来遇到他们。鉴于此,甚至可以听到您所谈论的“许多”可能的错误中的一些会非常有趣。 – 2012-01-16 20:23:02