SQL 模板:SELECT * FROM Customer WHERE CustNo = :Number,參數 :Number。
// SQL: INSERT INTO Customer (CustNo, Name, Country) VALUES (:CustNo, :Name, :Country)
Query1.Params[0].AsString := '1988'; // :CustNo
Query1.Params[1].AsString := 'Lichtenstein'; // :Name
Query1.Params[2].AsString := 'USA'; // :Country
Query1.ExecSQL;
Query1.ParamByName('CustNo').AsString := '1988';
Query1.ParamByName('Name').AsString := 'Lichtenstein';
Query1.ParamByName('Country').AsString := 'USA';
Query1.ExecSQL;
Query1.DataSource := DataSource2 (主數據集)。| 方式 | 綁定依據 | 靈活性 | 維護性 | 推薦場景 |
|---|---|---|---|---|
| 參數編輯器 | 設計時固定 | 低 | 低 | 極簡原型/教學 |
| Params[] | 順序索引 | 中 | 低 | 參數極少且固定、性能極敏感 |
| ParamByName | 參數名稱 | 高 | 高 | 通用首選 |
| DataSource | 主數據集字段 | 高 | 中 | 主從/鑽取/參數化報表 |
AsInteger, AsDateTime, AsFloat 替代 AsString。