如何显示存储过程WinForms的结果

时间:2013-08-19 14:34:45

标签: sql-server winforms stored-procedures ado.net

我在SQL Server中有一个存储过程,它根据参数返回不同的结构。

换句话说,它可能会返回一个包含三个字段或15的结果集,并且列名将会不同。

如何在WinForm应用程序中显示这些结果?

我目前使用实体框架来访问数据,但显然在这种情况下不会起作用。

数据将是只读的,即无需编辑。只需要显示它。

我猜我需要跳过EF并直接调用SP,并使用autocolumns填充DataGridView。

格雷格

2 个答案:

答案 0 :(得分:0)

由于您正在检索动态数据结构,因此您还需要使网格列动态化。在成功检索结果集之后,我要做的是清除Columns集合,并在每次调用SP时从头开始重新创建它们,并且需要在屏幕上刷新数据。不要使用AutoGenerateColumns,因为它们几乎没有机会自定义它们的外观,而是自己定义每一列,以便您可以选择要显示的内容和方式。

答案 1 :(得分:0)

这是我找到的最佳答案:How to use a DataAdapter with stored procedure and parameter

简而言之,使用DataAdapter和DataTable。即使使用AutoGenerateColumns,列标题看起来也很棒,无论返回的表结构如何都可以。

格雷格