在asp.net中使用SQL Server存储过程输出c#

我是新手使用存储过程。

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

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

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

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 } } 

使用以下代码,

 SqlCommand cmd = new SqlCommand("MyStoredProcedure", cn); cmd.CommandType=CommandType.StoredProcedure; SqlParameter parm=new SqlParameter("@username",SqlDbType.VarChar); parm.Value=strUser; parm.Direction =ParameterDirection.Input ; cmd.Parameters.Add(parm); parm=new SqlParameter("@url",SqlDbType.VarChar); parm.Value=strUrl; parm.Direction =ParameterDirection.Input ; cmd.Parameters.Add(parm); parm=new SqlParameter("@errorID",SqlDbType.Int); parm.Direction=ParameterDirection.Output; // This is important! cmd.Parameters.Add(parm); cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); // Print the output value Console.WriteLine(cmd.Parameters["@errorID"].Value); Console.ReadLine(); 
 int errorId = 0; SqlCommand cmd = new SqlCommand("YourSPName", cn); cmd.CommandType=CommandType.StoredProcedure; SqlParameter parm=new SqlParameter("@username",SqlDbType.VarChar); parm.Value=strUser; parm.Direction =ParameterDirection.Input ; cmd.Parameters.Add(parm); parm=new SqlParameter("@url",SqlDbType.VarChar); parm.Value=strUrl; parm.Direction =ParameterDirection.Input ; cmd.Parameters.Add(parm); parm=new SqlParameter("@errorID",SqlDbType.Int); parm.Direction=ParameterDirection.Output; // This is important! cmd.Parameters.Add(parm); cn.Open(); errorId = (int)cmd.ExecuteNonQuery(); cn.Close(); sqlConnection.Open(); sqlConnection.ExecuteNonQuery(); 

放置条件:

 if(errorId == 1) { `"Allow User here"` } if(errorId==0) { `Redirect when you to redirect to use.` }