牛腩新闻发布系统笔记9:存储过程

建立存储过程:

可编程性===》存储过程===》新建存储过程:

删除一切没有用的注释,最后存储过程代码如下:

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 + 存储过程名 + 参数




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值