ASP.NET如何调用此存储过程

用户名

我有这个提供给我的存储过程:

USE [DatabaseName]
GO

DECLARE@return_value int,
@L1 nchar(10),
@L2 nchar(10),
@L3 nchar(10),
@L4 nchar(10),
@LD1 nchar(15),
@LD2 nchar(15),
@LD3 nchar(15),
@LD4 nchar(15)

EXEC@return_value = [dbo].[uspCheckTagId]
            @TagId = '10001',
            @deviceId = 'testunitid',
            @L1 = @L1 OUTPUT,
            @L2 = @L2 OUTPUT,
            @L3 = @L3 OUTPUT,
            @L4 = @L4 OUTPUT,
            @LD1 = @LD1 OUTPUT,
            @LD2 = @LD2 OUTPUT,
            @LD3 = @LD3 OUTPUT,
            @LD4 = @LD4 OUTPUT

SELECT
    @L1 as N'@L1',
    @L2 as N'@L2',
    @L3 as N'@L3',
    @L4 as N'@L4',
    @LD1 as N'@LD1',
    @LD2 as N'@LD2',
    @LD3 as N'@LD3',
    @LD4 as N'@LD4'

SELECT 'Return Value' = @return_value
GO

我的问题是如何从ASP.NET调用此存储过程?

我完全是从头开始,所以我过去尝试过的所有代码现在都消失了:(

请帮忙。

marc_s

假设这是SQL服务器(你应该真正为这个正确的代码!),你应该使用的代码是这样的-把喜欢的东西一次性SqlConnectionSqlCommand成适当的using(..) { ... }块,使用的参数为你的程序,等等。

procedure void CallStoredProcedure(int tagId)
{
    // get connection string, typically from config
    string connectionString = ConfigurationManager.ConnectionStrings["...."].ConnectionString;

    // Define stored procedure name
    string storedProcedureName = "dbo.uspCheckTagId";

    // create connection and command
    using (SqlConnection conn = new SqlConnection(connectionString))
    using (SqlCommand cmdExecProc = new SqlCommand(storedProcedureName, conn))
    {
        cmdExecProc.CommandType = CommandType.StoredProcedure;

        // build up parameters
        cmdExecProc.Parameters.Add("@TagId", SqlDbType.Int).Value = tagId;

        cmdExecProc.Parameters.Add("@L1", SqlDbType.NChar, 10).ParameterDirection = ParameterDirection.Output;
        cmdExecProc.Parameters.Add("@L2", SqlDbType.NChar, 10).ParameterDirection = ParameterDirection.Output;
        cmdExecProc.Parameters.Add("@L3", SqlDbType.NChar, 10).ParameterDirection = ParameterDirection.Output;
        cmdExecProc.Parameters.Add("@L4", SqlDbType.NChar, 10).ParameterDirection = ParameterDirection.Output;
        cmdExecProc.Parameters.Add("@LD1", SqlDbType.NChar, 15).ParameterDirection = ParameterDirection.Output;
        cmdExecProc.Parameters.Add("@LD2", SqlDbType.NChar, 15).ParameterDirection = ParameterDirection.Output;
        cmdExecProc.Parameters.Add("@LD3", SqlDbType.NChar, 15).ParameterDirection = ParameterDirection.Output;
        cmdExecProc.Parameters.Add("@LD4", SqlDbType.NChar, 15).ParameterDirection = ParameterDirection.Output;

        // open connection, execute proc, close connection
        conn.Open();
        cmdExecProc.ExecuteNonQuery();

        // read out the output parameters here, and do with them whatever you need ......
        var l1Value = cmdExecProc.Parameters("@L1").Value;        
        ....

        conn.Close();
    }
}    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从ASP.NET Web API执行(调用)存储过程?

如何从ASP.NET Core 3.1 MySql.Data.EntityFrameworkCore调用MySQL存储过程

如何使用EntityFramework 7和Asp.Net 5调用SQL存储过程

如何在ASP.Net MVC(C#)中调用和执行存储过程

如何在C#(ASP.Net)中调用参数化存储过程?

如何使用来自 ASP.NET 的多个输入值调用 MySQL 存储过程

如何使用实体框架在 ASP.NET MVC 中调用存储过程

如何从 ASP.NET 中的 Mysql 存储过程调用输出参数

在 ASP.NET Core 3.1/5.0 中调用存储过程

ASP.NET存储过程调用将VarBinary插入sql

ASP.NET核心实体框架调用存储过程

如何与网站(ASP.NET)中的存储过程集成

ASP.NET/MySQL SQLDataSource存储过程

使用输出参数在 ASP.NET 中调用 SQL 存储过程

ASP.Net Core - 实体框架 - 调用没有返回数据的存储过程(在 void 方法中)

未提供错误参数的ASP.NET MVC调用存储过程

存储过程执行的结果不一致-ASP.net代码与Direct SP调用

如何将存储过程存储在asp.net System.Web.Caching中的缓存中

ASP参数以调用SQL Server中的存储过程

尝试在经典ASP中调用存储过程时3709错误

存储过程:如何在EF和ASP.NET MVC中返回小数

如何在ASP.NET Core 3.0中的存储过程中添加参数

如何使用存储过程结果在 ASP.NET MVC 中将列表项作为 JSON 返回?

如何使用EF在asp.net核心中使用存储过程

ASP.NET MVC:如何使用LINQ语法运行存储过程?

使用存储过程时如何在asp.net中执行回滚

如何从oracle存储过程值中的数据读取到asp.net中的dropdownlist中

如何使用代码优先的 ASP.NET MVC 和实体框架导入存储过程

如何将整个 http URL 传递给 asp.net API 中的存储过程?