本文介绍了在ASP.NET C#中使用SQL Server存储过程输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不熟悉存储过程。

我们有一个现有系统,该系统使用存储过程检查用户名和url路径。存储过程将检查用户详细信息是否存在。如果存在,则返回1,否则返回0。

We have an existing system which uses stored procedures that check usernames and url paths. The Stored procedure will check whether user details exist. If it exists it returns 1 if not it returns 0.

我试图通过向asp.net代码提供用户详细信息和路径来调用此存储过程。然后在asp.net中使用返回的0或1值。

I am trying to write asp.net code to call this stored procedure by providing it with the user details and path and then use the returned 0 or 1 value in asp.net.

推荐答案

看起来您需要带输出参数的存储过程

Looks like you need stored procedure with output parameter

int errorId = 0;

using(SqlConnection sqlConnection = new SqlConnection(connectionString))
{
    using(SqlCommand cmd = new SqlCommand("YourStoredProcedureName", sqlConnection))
    {
    cmd.CommandType=CommandType.StoredProcedure;
    SqlParameter parm=new SqlParameter("@username", SqlDbType.VarChar);
    parm.Value="mshiyam";
    parm.Direction =ParameterDirection.Input ;
    cmd.Parameters.Add(parm);

    SqlParameter parm2=new SqlParameter("@path",SqlDbType.VarChar);
    parm2.value = "Some Path";
    parm2.Direction=ParameterDirection.Output;
    cmd.Parameters.Add(parm2);


    SqlParameter parm3 = new SqlParameter("@errorId",SqlDbType.Int);
    parm3.Direction=ParameterDirection.Output;
    cmd.Parameters.Add(parm3);

    sqlConnection.Open();
    sqlConnection.ExecuteNonQuery();

    errorId = cmd.Parameters["@errorId"].Value; //This will 1 or 0
   }

}

这篇关于在ASP.NET C#中使用SQL Server存储过程输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-13 21:08