昨天学习asp.net的时候,学到了存储过程。下面是我操作的一个例子:
(1)新建一个网页,拖入一个textbox控件和一个button控件,要完成的操作是点击button,可以显示出要查询的结果。
(2)首先是建立一个数据库book,再建立一张表Menu,并且为这张表建一个存储过程GetOperateName.
ALTER PROCEDURE GetOperateName
(@OperateID varchar(50))
AS
set @OperateID=rtrim(@OperateID)+'%';
select OperateName
from Menu
where (OperateID like @OperateID)
RETURN
(3) 先从配置文件读取数据库的连接信息,然后创建SqlConnection和SqlCommand对象,这里和以往操作数据库的方法很相近,注意的是SqlParameter对象,该对象指定@OperateID,和该变量的数据库类型。
protected void Button1_Click(object sender, EventArgs e)
{
string strConf=System.Configuration.ConfigurationManager.AppSettings["Connectionstring"];
SqlConnection sqlConn = new SqlConnection(strConf);
SqlCommand sqlCom = new SqlCommand();
SqlParameter sqlPara = new SqlParameter("@OperateID",SqlDbType.VarChar,50);
sqlPara.Value = TextBox1.Text;
sqlCom.Connection = sqlConn;
sqlCom.CommandType = CommandType.StoredProcedure;//指定SqlCom操作的是存储过程,而不是sql语句
sqlCom.CommandText = "GetOperateName";//该存储过程的名字
sqlCom.Parameters.Add(sqlPara);
sqlConn.Open();
SqlDataReader sqlReader = sqlCom.ExecuteReader();
while(sqlReader.Read())
{
Response.Write(sqlReader["OperateName"]);
Response.Write("\t");
}
}
(4)执行上面的操作后,当输入11后,会返回以11开头的OperateName。