从DataAdapter填充DataTable - 选择的主键列错误。

5
我正在通过使用dataadapter从MS-SQL数据库中提取数据来填充datatable对象。但由于某种原因,该datatable的错误列被设置为主键。我尝试了FillSchema和MissingSchemaAction.AddWithKey,但都没有成功。
正确的主键在SQL服务器DB架构中已经正确定义,并且由非聚簇唯一索引PK_x支持。
数据适配器所选的列是一个唯一列,由聚簇唯一索引支持。
这些是表中唯一的两列。
DataAdapter如何从SQL检索表模式?我已经查询了sys表(sys.tables、sys.index_columns、sys.indexes),并且它们指示了正确的主键模式。出了什么问题?

3
请发布您的代码以便我们提供帮助。 - Mike Perrenoud
你使用过 DataAdapter.FillSchema(dataset, SchemaType.Source, "Table") 吗? - Joshua Van Hoesen
1
SQL语句长什么样子?如果您能够插入一小段代码片段,那真的会很有帮助。这是因为它可以让我们了解发送到数据库的内容以及.NET被强制解释的内容的上下文。 - Mike Perrenoud
2
PK是数据库中的单列吗?数据库模式是什么样子的?也许你可以发布一下,因为它只有几列。 - Mike Perrenoud
2
你尝试过在调用期间对数据库运行分析器跟踪吗?如果你将CommandType设置为CommandType.TableDirect;CommandText="TableName",然后再进行Fill操作呢? - mrtig
显示剩余2条评论
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接