以 OLE DB 管理資料庫物件 (SQL Server Compact)
MicrosoftSQL Server Compact 3.5 要求物件都必須先以獨佔的方式開啟,然後才能加以修改。
修改物件
所有 ITableDefinition 方法都會以獨佔存取的方式開啟資料表。如果另一個方法已經開啟這個資料表,ITableDefinition 方法呼叫便會失敗。例如,假設某個使用者嘗試使用 ITableDefinition::AddColumn 在資料表內新增一個資料行,但是已經有一個資料指標在同一個資料表上開啟,則修改資料行定義的動作就會失敗,並且會出現鎖定錯誤。設計應用程式時,應該考慮鎖定問題,尤其是在使用交易時。
修改資料行
與資料行相關的某些資訊也可以使用 IAlterTable::AlterColumn 加以修改。由於資料行中有許多可能被修改的項目,因此 DBPROP_ALTERCOLUMN 屬性會說明 DBCOLUMNDESC 結構中定義要修改資料行的部分。然而,即使提供者支援修改屬性,也不表示所有屬性都可以修改。以下屬性都可以透過 SQL Server Compact 3.5 的 OLE DB 提供者修改:
DBPROP_COL_DEFAULT
DBPROP_COL_SEED (僅限於識別欄位)
DBPROP_COL_INCREMENT (僅限於識別欄位)
修改索引與條件約束
您也可以修改索引和條件約束。如需詳細資訊,請參閱<OLE DB 索引 (SQL Server Compact)>及<OLE DB 條件約束 (SQL Server Compact)>。