Mega Code Archive

 
Categories / ASP.Net Tutorial / ADO Net Database
 

Use a SqlParameter to represent stored procedure return values and output parameters

File: GetProductCount.sql CREATE PROCEDURE dbo.GetProductCount AS  RETURN (SELECT COUNT(*) FROM Products) File: ShowProductCount.aspx <%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="System.Web.Configuration" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     void Page_Load()     {         lblProductCount.Text = GetProductCount().ToString();     }     private int GetProductCount()     {         int result = 0;         string connectionString = WebConfigurationManager.ConnectionStrings["Products"].ConnectionString;         SqlConnection con = new SqlConnection(connectionString);         SqlCommand cmd = new SqlCommand("GetProductCount", con);         cmd.CommandType = CommandType.StoredProcedure;         cmd.Parameters.Add("@ReturnVal", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;         using (con)         {             con.Open();             cmd.ExecuteNonQuery();             result = (int)cmd.Parameters["@ReturnVal"].Value;         }         return result;     } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Show Product Count</title> </head> <body>     <form id="form1" runat="server">     <div>     There are     <asp:Label         id="lblProductCount"         Runat="server" />     products in the database.     </div>     </form> </body> </html> File: Web.config <configuration>   <connectionStrings>     <add name="Products"           connectionString="Data Source=.\SQLEXPRESS;          AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />   </connectionStrings> </configuration>