5

我正在通过从数据库中提取数据来填充datatable对象。由于某种原因,错误的列被设置为数据表上的主键。我已经尝试过,但无济于事。dataadapterMS-SQLFillSchemaMissingSchemaAction.AddWithKey

正确的主键在 SQL Server 数据库架构中正确定义,并由非聚集唯一索引支持PK_x

数据适配器选择作为主键的列是由聚集唯一索引支持的唯一列。

这是表中仅有的两列。

DataAdapter 如何从 SQL 中检索表模式?我已经询问了 sys 表(sys.tables、sys.index_columns、sys.indexes),它们指示了正确的主键模式。是什么赋予了?

4

1 回答 1

1

“如果在 SQL Server 表中的一列或多列上定义了唯一聚集索引,并且在单独的一组列上定义了主键约束,则将返回聚集索引中列的名称。要返回名称或主键列的名称,在 SELECT 语句中使用查询提示来指定主键索引的名称。有关指定查询提示的详细信息,请参阅查询提示 (Transact-SQL )

http://msdn.microsoft.com/EN-US/library/152bda9x(v=VS.110,d=hv.2).aspx

于 2013-10-29T12:16:27.903 回答