【发布时间】:2019-03-19 06:27:29
【问题描述】:
我有以下存储过程:
CREATE Procedure [dbo].[usp_GetMyAlbumData]
AS
SELECT *
FROM [dbo].[tblAlbumDetails]
FOR XML PATH('AlbumDetail'), ROOT('AlbumDetails'), TYPE
我需要弄清楚如何使用usp_ReportGetMyAlbumData 生成的XML 在datagridview 中显示数据。
例如,我的数据库中有一条记录。当我在 SQL Server 2012 中运行 usp_ReportGetMyAlbumData 存储过程时,我得到以下结果:
<AlbumDetails>
<AlbumDetail>
<MusicID>1</MusicID>
<AlbumDesc>Jones</AlbumDesc>
<AlbumDate>2018-10-13T15:55:49.843</AlbumDate>
<AlbumPrice>4.0000</AlbumPrice>
</AlbumDetail>
</AlbumDetails>
我想使用 C# 将此 XML 结果(或usp_ReportGetMyAlbumData 生成的任何其他 XML 结果)写入 DataSet,以便我可以将其绑定到 DataGridView。
我知道如何write XML files to a Dataset,但存储过程返回 XML,而不是 XML 文件。
我需要编写什么代码来使用存储过程生成的 XML 中的数据填充数据集?
【问题讨论】:
-
您使用的是哪个 dbms?
-
@jarlh Microsoft SQL Server 2012
-
@lex87 对不起,我仍然很困惑。我正在查看链接中的答案,它说绑定 xml 源与绑定到数据库源没有太大区别,但它完全不同,因为 xml 输出是一个字符串,而数据集是一个不同的结构。 amelvin 在他的回答中提供的链接转发到另一个链接已过期的问题,以及一个指向使用 vb 代码的按需网络研讨会的链接。
标签: c# sql-server xml stored-procedures datagridview