webdn
 
  首页     免费截图     VIP会员区     广告Banner     技术文档     网站模板  
网站截图,网站每日新 !
虚拟主机
网页模板

首页 >> WebDN 文档 >> 网络编程 >> ASP.net 技术资料 >> Page 26 >> 使用存储过程从WEB页面传递参数

 

使用存储过程从WEB页面传递参数

【摘 要】 在C#代码中,我们将使用新的类,System.Data.SqlClient.Parameter。该类的对象设计用于表示存储过程中的参数,因此构造函数需要知道名称、数据类型和所讨论的参数的大小

首先创建存储过程,格式如下:

CREAT PROCEDURE sp_CustomersByState @region nvarchar(15)
AS
select CustomerID,CompanyName from Customers
where region=@region Order by CompanyName
RETURN

编写程序代码:

在C#代码中,我们将使用新的类,System.Data.SqlClient.Parameter。该类的对象设计用于表示存储过程中的参数,因此构造函数需要知道名称、数据类型和所讨论的参数的大小。

<%@ 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="c#" runat="server">
private void Submit(object sender, EventArgs e)
{
String strConnection ="Server=224NUMECA;database=Northwind;user id=sa;password=sa";
SqlConnection objConnection = new SqlConnection(strConnection);
SqlCommand objCommand = new SqlCommand("sp_CustomersByState", objConnection);
objCommand.CommandType = CommandType.StoredProcedure;

SqlParameter objParameter = new SqlParameter("@region", SqlDbType.NVarChar, 15);

/* 新建名为@region并声明为nvchar(15)的参数,它与存储过程中的声明相匹配。该版本的构造函数的第二个参数总是system.data.sqlDbType枚举的成员,该枚举有24个成员,表示您可能需要的所有数据类型的。*/

objCommand.Parameters.Add(objParameter);

/* 第二行将参数添加到命令对象的Parameter集合,经常会忘记该操作 */

objParameter.Direction = ParameterDirection.Input;

/* 设置参数对象的Direction属性,以决定它是否会用于将信息传递给存储过程,或接收来自它的信息。ParameterDirection.Input实际上就是该属性的默认值,但是从维护和可读性的观点出发,将它放入代码中是很有帮助的。 */

objParameter.Value = txtRegion.Text;

/* 我们将参数的value属性设置为TxtRegion文本框的文本属性。 */

objConnection.Open();

objConnection.Open();
dgOutput.DataSource = objCommand.ExecuteReader();
dgOutput.DataBind();

objConnection.Close();
}
</script>



电话咨询:010-60520722 QQ咨询:3792656   |   583696287   |   66733350 关于WebDN  |  站点地图  |  联系我们  |  支付方式  |  友情链接
© 2004-2008 WebDN.com 版权所有. 沪ICP备05040479号