protected void Page_Load(object sender, EventArgs e)
{
/*
sql脚本-创建学生表
create table student(id int,name varchar(50))
insert into student select 1,'小张'
insert into student select 2,'小王'
存储过程 功能:查询学生名称
create proc proc_getName
@id int,
@name varchar(50) output
as
begin
if exists(select 1 from student where id=@id)
select @name=name from student where id=@id
else
set @name='--未找到学生--'
end
*/
}
//执行存储过程
public void RunProcedure(string storedProcName, IDataParameter[] parameters)
{
string connectionString = "server=.;database=my;uid=sa;pwd=bb";//数据库连接串
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet dataSet = new DataSet();
connection.Open();
SqlDataAdapter sqlDA = new SqlDataAdapter();
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure;//类型为存储过程
if (parameters != null)//检查过程参数
{
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
sqlDA.SelectCommand = command;
command.ExecuteNonQuery();//执行过程
connection.Close();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
//声明参数
SqlParameter[] parameters = {
new SqlParameter("@id", SqlDbType.Int),
new SqlParameter("@name", SqlDbType.VarChar,50)
};
parameters[0].Value = txtStudentid.Text.Trim(); ;//学生编号 id
parameters[1].Direction = ParameterDirection.Output;//设置参数类型
RunProcedure("proc_getName", parameters);//执行过程方法 proc_getName为存储过程名称
txtStudentName.Text = parameters[1].Value.ToString();//取得返回值
}
asp.net 存储过程执行实例
最新推荐文章于 2014-09-29 09:36:36 发布