Using Stored Procedures With Output Parameters : Stored Procedure Parameters « ADO.net Database « ASP.Net






Using Stored Procedures With Output Parameters

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<html>
  <head><title>Using Stored Procedures With Output Parameters</title></head>
  <body>
    <form runat="server" method="post">
      Enter a State Code:
      <asp:Textbox id="txtRegion" runat="server" />
      <asp:Button id="btnSubmit" runat="server"
                  Text="Search" OnClick="Submit" />
      <br/><br/>
      <asp:label id="lblRecords" runat="server" />
      <br/><br/>
      <asp:DataGrid id="dgOutput" runat="server" />
    </form>
  </body>
</html>

<script language="VB" runat="server">
Sub Submit(Source As Object, E As EventArgs)

  Dim strConnection As String = ConfigurationSettings.AppSettings("NWind")
  Dim objConnection As New SqlConnection(strConnection)
  Dim objCommand As New SqlCommand("sp_CustomersByStateWithCount",objConnection)
  objCommand.CommandType = CommandType.StoredProcedure

  Dim objParameter As New SqlParameter("@region", SqlDbType.NVarChar, 15)
  objCommand.Parameters.Add(objParameter)
  objParameter.Direction = ParameterDirection.Input
  objParameter.Value = txtRegion.text

  Dim objOutputParameter As New SqlParameter("@matches", SqlDbType.Int)
  objCommand.Parameters.Add(objOutputParameter)
  objOutputParameter.Direction = ParameterDirection.Output

  objConnection.Open()

  Dim objDataReader As SqlDataReader
  objDataReader = objCommand.ExecuteReader()

  dgOutput.DataSource = objDataReader
  dgOutput.DataBind()

  objCommand.Connection.Close()
  objCommand.Connection.Open()
  objCommand.ExecuteNonQuery()
  lblRecords.Text = "Matches: " & CInt(objCommand.Parameters(1).Value)

  objConnection.close()
End Sub
</script>


---------------------------------------------------
Imports System
Imports System.Data
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        Dim cn As SqlConnection
        Dim sql As String
        Dim cmd As SqlCommand

        cn = New SqlConnection("Data Source=PEREGRINE;" & _
                               "Initial Catalog=Northwind;Integrated Security=SSPI")
        cn.Open()
        sql = "CREATE PROCEDURE sp_CustomersByStateWithCount @region nvarchar(15), @matches int OUTPUT AS " & _
              "SELECT CustomerID, CompanyName FROM Customers WHERE region = @region ORDER BY CompanyName " & _
              "SET @matches = @@rowcount"
        cmd = New SqlCommand(sql, cn)
        cmd.ExecuteNonQuery()
        Console.WriteLine("Procedure created!")
    End Sub
End Module
           
       








Related examples in the same category

1.Using Stored Procedures With Parameters: filter
2.Using a Built-in Stored Procedure With Parameters