Call stored procedure with parameter and return value : SqlConnection Stored Procedure « ADO.Net « C# / CSharp Tutorial





/*
Quote from


Beginning C# 2005 Databases From Novice to Professional

# Paperback: 528 pages
# Publisher: Apress (December 18, 2006)
# Language: English
# ISBN-10: 159059777X
# ISBN-13: 978-1590597774
*/


using System;
using System.Data;
using System.Data.SqlClient;

class MainClass
{
   static void Main()
   {
      SqlConnection conn = new SqlConnection(@"server = .\sqlexpress;integrated security = true;database = northwind");

      try
      {
         conn.Open();

         SqlCommand cmd = conn.CreateCommand();

         cmd.CommandType = CommandType.StoredProcedure;
         cmd.CommandText = "sp_orders_by_employeeid2";

         SqlParameter inparm = cmd.Parameters.Add("@employeeid", SqlDbType.Int);
         inparm.Direction = ParameterDirection.Input;
         inparm.Value = 2;

         SqlParameter ouparm = cmd.Parameters.Add("@ordercount", SqlDbType.Int);
         ouparm.Direction = ParameterDirection.Output;

         SqlParameter retval = cmd.Parameters.Add("return_value", SqlDbType.Int);
         retval.Direction = ParameterDirection.ReturnValue;

         SqlDataReader rdr = cmd.ExecuteReader();

         while (rdr.Read())
         {
            Console.WriteLine("{0} {1}"
             , rdr[0].ToString().PadRight(5)
             , rdr[1].ToString()
            );
         }
         rdr.Close();

         Console.WriteLine("The output parameter value is {0}", cmd.Parameters["@ordercount"].Value);

         Console.WriteLine("The return value is {0}", cmd.Parameters["return_value"].Value);
      }
      catch (SqlException ex)
      {
         Console.WriteLine(ex.ToString());
      }
      finally
      {
         conn.Close();
      }
   }
}
/*
create procedure sp_Orders_By_EmployeeId2
   @employeeid int,
   @ordercount int = 0 output
as
   select
      orderid,
      customerid
   from
      orders
   where
      employeeid = @employeeid;

   select
      @ordercount = count(*)
   from
      orders
   where
      employeeid = @employeeid

   return @ordercount
*/










32.15.SqlConnection Stored Procedure
32.15.1.Call a stored procedure
32.15.2.Call stored procedure with no parameter
32.15.3.Call stored procedure with parameter and return value
32.15.4.Call storedprocedure and pass in the parameter
32.15.5.Call stored procedure with parameters using SqlCommand
32.15.6.Call StoredProcedure with input and output parameters
32.15.7.Catch exception when calling stored procedure
32.15.8.Retrieving a Return Value from a Stored Procedure
32.15.9.Retrieving a Stored Procedure Output Parameter
32.15.10.Retrieving Data Using a SQL Server Stored Procedure
32.15.11.Retrieves stored procedure parameter information
32.15.12.Call stored procedure
32.15.13.Call stored procedure with SqlCommand
32.15.14.Raising and Handling Stored Procedure Errors