牛の腹のニュースはシステムのノートを発表します9:ストレージの過程

1901 ワード

ストアド・プロシージャの作成:プログラム可能====ストレージ・プロシージャ===
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 +   +