存储过程返回多个结果 [英] Stored Procedure return multiple results

查看:134
本文介绍了存储过程返回多个结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个称为EXEC的标准过程[usp_GetDetail]将返回多个结果.我需要使用不同的DataGrid在单个网页中显示这些不同的数据集.

I have a stord procedure called EXEC [usp_GetDetail] will return multiple results.I need to display those Different datasets in a single webpage using Different DataGrids.

推荐答案

如果要从该过程中接收多个结果集,则需要启用 MARS [ ^ ].然后,在读取数据时(例如,如果使用SqlDataReader),请使用 NextResult [ ^ ]进入结果.
If you''re going to receive multiple result set from the procedure you need to enable MARS[^]. Then when reading the data, if you use for example a SqlDataReader, use NextResult[^] to advance in the results.




.aspx


.aspx
<form id="form1"  runat="server">
<div>
    <asp:panel id="PanelResult" runat="server">
    </asp:panel>
</div>
</form>



.aspx.cs



.aspx.cs

DataSet dsResult = getDataSet("EXEC usp_GetOwnerDetail;");

for (int intTables = 0; intTables < dsResult.Tables.Count; intTables++)
{
    GridView gvTable = new GridView();
    gvTable.ID = "gv" + intTables;
    gvTable.DataSource = dsResult.Tables[intTables];
    gvTable.DataBind();

    PanelResult.Controls.Add(gvTable);
}


(如果您已经添加了网格视图控件)
然后将数据源设置为所有gridviews

if you have already added grid view control
then set datasource to all gridviews

DataSet dsResult = getDataSet("EXEC usp_GetOwnerDetail;");
GridView1.DataSource=dsResult.Tables[0];
GridView2.DataSource=dsResult.Tables[1];
GridView2.DataSource=dsResult.Tables[2];
Page.DataBind();



如果尚未添加,则

您可以在页面上添加GridView Direct

或在页面上创建一个asp:Panel并将所有网格添加到此面板
就像
余宇娜写



if you have not added then

You can add GridView Direct on page

or create a asp:Panel on Page and Add All Grids to this Panel
like
Una Yu write


这篇关于存储过程返回多个结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆