繁体   English   中英

如何从C#调用存储过程,并获取返回值?

[英]How to call stored procedure from C#, and get the returned value?

我在 SQL Server 中创建了一个存储过程,并加载到a.dbml ,这是我的 Visual Studio 项目中的一个数据库文件。 该过程称为storedprocedure1(System.String name, System.Int32 code)

现在在我的 MVC 控制器中(我们称之为FooController ),我正在编写一个方法来从存储过程中获取结果。 我怎么做?

数据库类:

namespace App.Repo.App_Data{
    [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="Application")]
    public partial class APPDatacontext : System.Data.Linq.DataContext{ /* ... */}
}

控制器类

namespace App.Controllers{
    public class FooController : Controller{
        private string getResult(string name, int code){
            // call and get result from storedprocedure1
        }
    }
}

数据库服务器

ALTER PROCEDURE storedprocedure1 (
    @name varchar(10),
    @code int
    @result varchar(50) OUTPUT
)
AS

    SELECT --blah blah blah

GO

您不使用 RETURN 从过程中返回值。 RETURN 值是一个整数,旨在提供一个指示执行状态的值。 如果你想从你的过程中取回值,你应该使用 OUTPUT 变量。

https://msdn.microsoft.com/en-us/library/ms378108%28v=sql.110%29.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM