15.4.1 TTable 關鍵屬性詳解
DatabaseName 與 TableName:連線基石
DatabaseName:BDE 別名(如 DBDEMOS)、絕對路徑或 TDatabase 定義名。用別名隔離實體路徑變動,修改 BDE 設定即可,程式碼免改。
TableName:實體資料表檔名(如 CUSTOMER.DB)。
- 限制:
Active := True 時不可修改,需先 Active := False。
TableType:檔案型別判斷
| TableType | 判斷依據 |
Default | 副檔名:.DB/無=Paradox、.DBF=dBASE、.TXT=ASCII |
| 指定型別 | 忽略副檔名,強制用指定型別 |
KeyExclusive:查找與範圍邊界控制
False(預設):查找定位符合記錄;範圍包含邊界記錄
True:查找定位符合記錄下一筆;範圍排除邊界記錄
索引相關屬性
| 屬性 | 說明 | 備註 |
IndexFields | 所有索引欄位清單 | 唯讀、執行期可用 |
IndexFieldsCount | 索引欄位個數 | 唯讀、執行期可用 |
IndexName | 輔助索引名清單 | 唯讀、與 IndexFieldNames 互斥 |
IndexFieldNames | 排序欄位名(分號分隔) | 如 'ZipCode;CustNo',欄位必須存在 |
Exclusive:獨佔 vs 共享開啟
True:獨佔開啟,其他使用者無法存取
False(預設):共享模式
- SQL Server 獨佔時:他人可讀不可寫(視 Server 支援度)
ReadOnly 與 CanModify:權限雙重把關
| 屬性 | 型別 | 邏輯 |
ReadOnly | 可寫 | True→唯讀;False→可讀寫(視資料庫授權) |
CanModify | 唯讀 | 反映實際權限:ReadOnly=True→自動 False;ReadOnly=False 且 DB 授權寫入→True,否則 False |
CanModify=False 時資料集無法進入編輯/插入狀態;True 仍受 SQL 權限等外部因素制約。