posts - 68,comments - 32,trackbacks - 3
编写和使用存储过程 

只读   带参数的查询


只读

以下代码示例创建一个只返回表的存储过程。
CREATE Procedure GetAuthors AS
      SELECT * FROM Authors
      return
  GO

protected void Page_Load(Object Src, EventArgs E) { SqlDataAdapter da = new SqlDataAdapter("Ten Most Expensive Products", conn); da.SelectCommand.CommandType = CommandType.StoredProcedure;  //设置存储过程 DataSet ds = new DataSet(); da.Fill(ds, "产品"); dg.DataSource=ds.Tables["产品"].DefaultView; dg.DataBind(); }

将存储过程的参数作为特殊查询传递,如下面的示例所示。

可以创建同样接受参数的存储过程。例如:

CREATE Procedure LoadPersonalizationSettings (@UserId varchar(50)) AS
    SELECT * FROM Personalization WHERE UserID=@UserId
    return
GO


public void GetEmployees_Click(Object sender, EventArgs E)
{
   SqlDataAdapter da = new SqlDataAdapter("SalesByCategory", conn);
   da.SelectCommand.CommandType = CommandType.StoredProcedure;   //设置存储过程

   da.SelectCommand.Parameters.Add(new SqlParameter("@CategoryName", SqlDbType.NVarChar, 15));
   da.SelectCommand.Parameters["@CategoryName"].Value = SelectCategory.Value;

   da.SelectCommand.Parameters.Add(new SqlParameter("@OrdYear", SqlDbType.NVarChar, 4));
   da.SelectCommand.Parameters["@OrdYear"].Value = SelectYear.Value;

   DataSet ds = new DataSet();
   da.Fill(ds, "销售额");
   MyDataGrid.DataSource=ds.Tables["销售额"].DefaultView; MyDataGrid.DataBind();
}

posted on 2005-11-03 19:06 Chark 阅读(915) 评论(0) 编辑 收藏