我的2006年德爾福TADOCommand刪除有它能參數安全地從一個Delphi TADOCommand在運行時
CommandText (including parameters), Prepared (True), ParamCheck (True)
屬性都設置在設計時。
有沒有辦法讓我去刪除它的一些參數在運行時,無需改變的CommandText,以適應這些變化。在參數引用的某些表列不需要更新/插入的情況下,這是可取的。
我沿着
TADOCommand.Parameters.ParamByName('MyParam').SafelyRemove;
非常感謝,
鄧肯
此外,從命令文本中刪除參數不是微不足道的。你需要一個SQL驗證器來確保最終的SQL是有效的,而且還需要一系列規則來管理每種情況下被刪除的內容。將DELETE FROM Customers WHERE CustomerID = CustID轉換爲DELETE FROM Customers很容易,但是更復雜的查詢如DELETE FROM Orders WHERE OrderLanguage =:language和ShipToCustomer IN(SELECT CustomerID FROM Customers WHERE Address_Country_Language <>:language) ? – 2010-10-12 04:29:03
非常感謝大家的回答。不幸的是你已經證實了我的懷疑。在這種情況下,我會從頭開始重建命令文本,而不是試圖有選擇地修改現有的字符串。 – DuncanGiles 2010-10-15 12:58:28