使用 OLE DB 管理数据库对象 (SQL Server Compact)

Microsoft SQL Server Compact 4.0 要求在修改对象之前必须以独占方式打开该对象。

修改对象

所有 ITableDefinition 方法都可以打开表,以便进行独占访问。如果另一种方法已经将表打开,则 ITableDefinition 方法调用将失败。例如,如果用户尝试使用 ITableDefinition::AddColumn 向表中添加列,而同时在该表上游标已打开,则修改列定义的尝试将失败,并产生锁定错误。在设计应用程序特别是使用事务时,必须考虑锁定问题。

修改列

还可以使用 IAlterTable::AlterColumn 来修改列的某些信息。因为列包含可能会被修改的更多项,因此 DBPROP_ALTERCOLUMN 属性描述了用来定义可修改列的 DBCOLUMNDESC 结构的各个部分。但是,即使提供程序支持修改属性,也不意味着所有属性都可以修改。下列属性可以通过 OLE DB Provider for SQL Server Compact 进行修改:

  • DBPROP_COL_DEFAULT

  • DBPROP_COL_SEED(仅在标识列上)

  • DBPROP_COL_INCREMENT(仅在标识列上)

修改索引和约束

您还可以修改索引和约束。有关更多信息,请参阅OLE DB 索引 (SQL Server Compact)OLE DB 约束 (SQL Server Compact)