2013-04-18 52 views
0
using (var con = connection) 
      { 
       con.Open(); 
       using (var cmd = new SqlCommand("usp_Students", con)) 
       { 
        cmd.CommandType = CommandType.StoredProcedure; 
        SqlParameter sp = cmd.Parameters.AddWithValue("@StudentIDs", studentId); 
        sp.SqlDbType = SqlDbType.Structured; 
        cmd.ExecuteNonQuery(); 
       } 
      } 

我正在向存儲過程輸入一個值,但在這種情況下,我想要返回一個值。我如何將輸出結合到上面的代碼中?在存儲過程的同一調用中的輸入 - 輸出參數 - C#

CREATE PROCEDURE usp_Students 
     @StudentId Students READONLY, 
     @NumberOfStudents INT OUTPUT, 
+0

的可能重複的[初始化存儲過程輸出參數](http://stackoverflow.com/questions/12175932/initializing -stored-過程輸出參數) – Pondlife

回答

0

嘗試這樣

using (var con = connection) 
{ 
    con.Open(); 
    using (var cmd = new SqlCommand("usp_Students", con)) 
    { 
     cmd.CommandType = CommandType.StoredProcedure; 
     SqlParameter sp = cmd.Parameters.AddWithValue("@StudentIDs", studentId); 
     sp.SqlDbType = SqlDbType.Structured; 

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

     cmd.ExecuteNonQuery(); 

     // Getting output value 
     int NumberOfStudent = Convert.ToInt32(cmd.Parameters["@NumberOfStudents"].Value); 

    } 
} 

由於

的Manoj

相關問題