您的位置:首页 > 编程语言 > C#

c#存储过程基础

2005-11-03 19:06 489 查看
编写和使用存储过程

只读   带参数的查询
只读

以下代码示例创建一个只返回表的存储过程。

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();
}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: