牛の腹のニュースはシステムのノートを発表します9:ストレージの過程
1901 ワード
ストアド・プロシージャの作成:プログラム可能====ストレージ・プロシージャ===
SQLでストレージ・プロシージャを実行する:SQLで定義されたストレージ・プロシージャを実行し、exec+ストレージ・プロシージャ名コードを使用します.
.NETでストアド・プロシージャを実行する:ストアド・プロシージャを実行する関数を書きます.
フロントコール:
パラメータを記述したストレージ・プロシージャ:たとえば、ニュースIDに基づいてそのニュース・マスター・コンテンツを取り出す
SQL実行:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:
-- Create date: 2011-8-27
-- Description: 10 ( 、 、 )
-- =============================================
CREATE PROCEDURE procNewsSelectNewNews
AS
BEGIN
select top 10 n.id,n.title,n.createTime,c.[name] from news n
inner join category c on n.caId=c.id
order by n.createTime desc
END
GO
SQLでストレージ・プロシージャを実行する:SQLで定義されたストレージ・プロシージャを実行し、exec+ストレージ・プロシージャ名コードを使用します.
exec procNewsSelectNewNews
.NETでストアド・プロシージャを実行する:ストアド・プロシージャを実行する関数を書きます.
public DataTable test(string procName)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(procName, GetConn());
// SQL ,
cmd.CommandType = CommandType.StoredProcedure;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
//
dt.Load(sdr);
}
return dt;
}
フロントコール:
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = new SQLHelper().test("procNewsSelectNewNews");// SQL 。
GridView1.DataBind();
}
パラメータを記述したストレージ・プロシージャ:たとえば、ニュースIDに基づいてそのニュース・マスター・コンテンツを取り出す
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: keithray
-- Create date: 2011-8-27
-- Description: ID
-- =============================================
CREATE PROCEDURE news_SelectById
@id int
AS
BEGIN
select title,[content],createTime,caId from news where id=@id
END
GO
SQL実行:
exec news_SelectById 2 //exec + +