微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从存储过程中返回表?

如何解决如何从存储过程中返回表?

你的问题在哪里?

对于存储过程,只需创建:

CREATE PROCEDURE dbo.ReadEmployees @EmpID INT
AS
   SELECT *  -- I would *strongly* recommend specifying the columns EXPLICITLY
   FROM dbo.Emp
   WHERE ID = @EmpID

这就是全部。

在您的ASP.NET应用程序中,只需创建一个sqlConnection一个sqlCommand(不要忘记设置CommandType = CommandType.StoredProcedure

DataTable tblEmployees = new DataTable();

using(sqlConnection _con = new sqlConnection("your-connection-string-here"))
using(sqlCommand _cmd = new sqlCommand("ReadEmployees", _con))
{
    _cmd.CommandType = CommandType.StoredProcedure;

    _cmd.Parameters.Add(new sqlParameter("@EmpID", sqlDbType.Int));
    _cmd.Parameters["@EmpID"].Value = 42;

    sqlDataAdapter _dap = new sqlDataAdapter(_cmd);

    _dap.Fill(tblEmployees);
}

YourGridView.DataSource = tblEmployees;
YourGridView.DataBind();

然后DataTable用该数据填充例如a并将其绑定到例如GridView。

解决方法

这是一个非常简单的问题。

我正在尝试从存储过程中返回表,例如

select * from emp where id=@id

我想将此查询结果作为表格返回。我必须通过存储过程来做到这一点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。