ASP.Net/ADO.net Database/Stored Procedure Parameters — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 11:51, 26 мая 2010
Using a Built-in Stored Procedure With Parameters
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head><title>Using a Built-in Stored Procedure With Parameters</title></head>
<body>
<form runat="server" method="post">
<asp:ListBox id="lbCustomers" runat="server" Size="1" />
<asp:Button id="btnSubmit" runat="server"
Text="Submit" OnClick="Submit" />
<br/><br/>
<asp:DataGrid id="dgOutput" runat="server" />
</form>
</body>
</html>
<script language="VB" runat="server">
Sub Page_Load(Source As Object, E As EventArgs)
If Not IsPostBack Then
Dim strConnection As String = ConfigurationSettings.AppSettings("NorthWind")
Dim objConnection As New SqlConnection(strConnection)
Dim objCommand As New SqlCommand("SELECT CustomerID, CompanyName " & _
"FROM Customers", objConnection)
objConnection.Open()
lbCustomers.DataSource = objCommand.ExecuteReader()
lbCustomers.DataTextField = "CompanyName"
lbCustomers.DataValueField = "CustomerID"
lbCustomers.DataBind()
objConnection.Close()
End If
End Sub
Sub Submit(ByVal Source As Object, ByVal E As EventArgs)
Dim strConnection As String = ConfigurationSettings.AppSettings("NWind")
Dim objConnection As New SqlConnection(strConnection)
Dim objCommand As New SqlCommand("CustOrdersOrders", objConnection)
objCommand.rumandType = CommandType.StoredProcedure
Dim objParameter As New SqlParameter("@customerid", SqlDbType.NChar, 5)
objCommand.Parameters.Add(objParameter)
objParameter.Direction = ParameterDirection.Input
objParameter.Value = lbCustomers.SelectedItem.Value
objConnection.Open()
dgOutput.DataSource = objCommand.ExecuteReader()
dgOutput.DataBind()
objConnection.Close()
End Sub
</script>
<A href="http://www.nfex.ru/Code/ASPDownload/Northwind.zip">Northwind.zip( 736 k)</a>
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.rumandType = 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
Using Stored Procedures With Parameters: filter
<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Data.SqlClient" %>
<html>
<head><title>Using Stored Procedures With 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:DataGrid id="dgOutput" runat="server" />
</form>
</body>
</html>
<script language="VB" runat="server">
Sub Submit(ByVal Source As Object, ByVal E As EventArgs)
Dim strConnection As String = ConfigurationSettings.AppSettings("NWind")
Dim objConnection As New SqlConnection(strConnection)
Dim objCommand As New SqlCommand("sp_CustomersByState", objConnection)
objCommand.rumandType = CommandType.StoredProcedure
Dim objParameter As New SqlParameter("@region", SqlDbType.NVarChar, 15)
objCommand.Parameters.Add(objParameter)
objParameter.Direction = ParameterDirection.Input
objParameter.Value = txtRegion.Text
objConnection.Open()
dgOutput.DataSource = objCommand.ExecuteReader()
dgOutput.DataBind()
objConnection.Close()
End Sub
</script>