在.aspx页面有一个下拉列表,命名为:TypeID,他所使用表为AssetType表,
存储过程的编写: set ANSI_NULLS ONset QUOTED_IDENTIFIER ON
go
create PROCEDURE [dbo].[PR_SelectAssetType]
@ID INT='', @TypeName VARCHAR(50)='', @Error VARCHAR(500)='' OUTPUT
AS
IF @ID<>''
SELECT * FROM AssetType WHERE [ID]=@IDELSEBEGIN IF @TypeName<>''
SELECT * FROM AssetType WHERE [TypeName] LIKE '%'+@TypeName+'%'
ELSE SELECT * FROM AssetTypeENDRETURN @@ROWCOUNTIF(@@ERROR<>0) SET @Error=@@ERROR
相应的.CS页面代码:
DataBase conn = new DataBase();//已经编写好的数据库链接类
protected void Page_Load(object sender, System.EventArgs e)
{
TypeID.DataTextField = "TypeName";//显示的内容
TypeID.DataValueField = "ID";//所需要的值
string sql = "PR_SelectAssetType";
SqlCommand cm = new SqlCommand(sql, conn.cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("ReturnValue", SqlDbType.Int);
cm.Parameters["ReturnValue"].Direction = ParameterDirection.ReturnValue;
if (cm.Connection.State == ConnectionState.Closed)
cm.Connection.Open();
try
{
cm.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cm);
DataSet ds = new DataSet();
da.Fill(ds, "TypeName");
DataView dv = new DataView(ds.Tables["TypeName"]);
TypeID.DataSource = dv;
TypeID.DataBind();
}
finally
{
if (cm.Connection.State == ConnectionState.Open)
cm.Connection.Close();
cm = null;
conn = null;
}
本文介绍如何在ASP.NET中通过存储过程填充下拉列表的数据,并展示了完整的代码实现,包括数据库连接、参数设置及异常处理。


被折叠的 条评论
为什么被折叠?



