與 TTable 永遠回傳可編輯的「即時」資料集不同,TQuery 執行查詢後可能產生兩種截然不同的資料集類型,這直接決定了使用者能否在 DBGrid 等資料瀏覽元件中直接修改資料。
具備完整編輯能力:使用者在資料瀏覽元件中修改內容,呼叫 Post 或離開控制項焦點時,變更自動寫回資料庫。行為與 TTable 回傳資料一致。
預設模式。資料瀏覽元件鎖定編輯功能,任何修改嘗試均無效。若需修改,必須另闢蹊徑——建立第二個 TQuery 執行 UPDATE/INSERT/DELETE 陳述式。
僅將 RequestLive := True 遠遠不夠,BDE 還要求 SQL 陳述式嚴格符合特定語法規則:
ORDER BY 子句SUM、AVG 等彙總函數ORDER BY違反上述條件時:本地資料庫自動降級為唯讀;SQL 伺服器直接拋出錯誤。CanModify 唯讀屬性可即時反映資料集是否可編輯。
動態 SQL(參數化查詢)在實務中佔據主導地位。參數賦值三大途徑:
Params[索引] 按順序賦值ParamByName('名稱') 按名稱賦值(推薦)DataSource 屬性自動從主資料集同步參數值後續章節將逐一深入實作細節。