在.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;
}