存储过程就像其实编程语言中的函数和子过程一样,包含一定的内容,以一定的形式存储在数据库中,方便用户随时调用。
使用存储过程来进行数据库操作有很多好处:
1. 是以编译的形式保存在数据库里,所以执行的速度很快
2. 允许模块化编程,方便修改
3. 节省网络带宽
4. 提高安全性
这面建立一个最简单的存储过程,操作的数据库为Northwind
CREATE PROCEDURE my.StoredProcedure AS
SELECT FirstName, LastName
FROM
Employees
RETURN
SELECT FirstName, LastName
FROM
Employees
RETURN
保存后可以发现数据库中多了一个my.StoredProcedure的存储过程
新建一个Web窗体,代码如下
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection Conn = new SqlConnection("server=.;database=northwind;uid=sa;pwd=chengbo;");
SqlCommand Comm = new SqlCommand();
Comm.Connection = Conn;
Comm.CommandType = CommandType.StoredProcedure;
Comm.CommandText = "sp_Select_AllEmployees";
Conn.Open();
SqlDataReader reader = Comm.ExecuteReader();
DataGrid1.DataSource = reader;
DataGrid1.DataBind();
Conn.Close();
}
{
SqlConnection Conn = new SqlConnection("server=.;database=northwind;uid=sa;pwd=chengbo;");
SqlCommand Comm = new SqlCommand();
Comm.Connection = Conn;
Comm.CommandType = CommandType.StoredProcedure;
Comm.CommandText = "sp_Select_AllEmployees";
Conn.Open();
SqlDataReader reader = Comm.ExecuteReader();
DataGrid1.DataSource = reader;
DataGrid1.DataBind();
Conn.Close();
}
按F5运行,一切正常。