我很新的德爾福並取得了以下一段代碼(遺漏了一些無關痛癢的部分),爲此我想了解它做什麼:如果我爲不存在的參數調用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