c# - 如何发现 DataColumn 的底层数据类型是 xml

标签 c# sql-server xml datatable sqldataadapter

我有一个包含 xml 列的 SQL Server 数据表。我使用 DataTable(SqlDataAdapter 类的 Fill 方法)运行选择查询。执行后该列的类型为string

我想知道如何根据 Fill 方法具体化的 DataTable 确定实际的 SQL Server 数据类型(在本例中为 xml) .

我不能使用 SqlDataReader(它具有返回 SQL Server 数据类型信息的 GetSchemaTable 方法)- 我必须使用 SqlDataAdapter/DataTable。做类似的事情:

DataTableReader reader = new DataTableReader(table);
DataTable schemaTable = reader.GetSchemaTable();

也没有帮助,因为它似乎也不包含 SQL Server 数据类型信息。

最佳答案

SqlDataAdapter 上有一个名为 ReturnProviderSpecificTypes 的属性,如果您将其设置为 true,则 GetSchemaTable() 应该会告诉您该列是typeof(SqlXml) 而不是 typeof(string)

关于c# - 如何发现 DataColumn 的底层数据类型是 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759695/

相关文章:

sql-server - 设计这个数据库场景的最佳方法是什么?

java - 在 Java 中解析 XML dateTime 的最佳方法是什么?

c# - 在文本框中显示格式化的 xml

c# - 我的 SQL 语句有什么问题,有些东西不工作

mysql - 计算列,有没有比我的子查询更好的方法

c# - 可空对象必须有一个值#2

java - 使用 GWT 使用 XMLHttpRequest 发送 XML

c# - 涟漪效应 : OutOfMemoryException

c# - 如何在 string[][] 中以不同的顺序删除相同的值?

c# - 关于 IoC/DI VS CBSE 的信息