4
我有一個SQL Server數據表,它具有一個xml列。我使用DataTable
(Fill
類的SqlDataAdapter
類)運行選擇查詢。執行後,該列的類型爲string
。如何發現DataColumn的基礎數據類型是xml
我在想如何才能從DataTable
確定實際的SQL Server數據類型(在這種情況下爲xml
)Fill
方法實現。
我不能使用SqlDataReader
(它有GetSchemaTable
方法返回SQL Server數據類型信息) - 我必須使用SqlDataAdapter/DataTable
。做類似:
DataTableReader reader = new DataTableReader(table);
DataTable schemaTable = reader.GetSchemaTable();
也沒有幫助,因爲它也似乎不包含SQL Server數據類型信息。
你總是可以在SQL Server目錄視圖「考察」列的數據類型通過執行如下所示:'SELECT user_type_id FROM sys.columns WHERE object_id = OBJECT_ID('Person.Person')'。如果該值爲'241' - 它是SQL Server數據類型'XML'的一列(這些類型在'sys.types'中定義) –
這意味着我必須發出另一個查詢。任何方式不去sql,但依靠獲得的數據表?另外,我可能正在執行一個存儲過程,該過程返回數據並且不知道它屬於哪個表/模式 – user1417808