回顾存储过程

                                                                              回顾存储过程

 

    存储过程(stored procedure)如果使用的是存储过程那就很方便来修改sql语句,直接在服务器上修改,而不用再到程序中修改,然后再保存,存储过程可以一定程度的保证数据的安全性。

       1,存储过程大大增强了sql语言的功能和灵活性,存储过程可以用流程控制语句编写,有很强的灵活性

       2,存储过程可以保证数据的安全性和完整性,通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储结构可以使相关的动作在一起发生,从而可以维护数据库的完整性。

       3,运用存储过程能很快的执行,在运行存储过程前,数据库已经对其进行了语法和句法分析,并且给出了优化执行方案,这种已经编译好的过程可以极大地改善sql语句的性能,执行sql语句的大部分工作已经完成。

       4,在一定程度上可以降低网络的通信量,如果是sql语句,必须要把sql语句传给服务器然后执行sql语句。

       5,可以集中控制sql语句:比如说当一个公司的规则发生变化的时候,只要改变服务器上的存储过程就行,一般公司的规则经常变化,如果把体现规则的运算程序放入应用程序中,则当公司规则变化时,就需要修改应用程序工作量非常之大,还得修改、发行和安装应用程序。如果把规则放在存储过程中,则当企业规则发生变化的时候,只要修改存储过程就可以了,应用程序就无需变化。


--=============================================

-- Author:   张世栋

--Createdate:

--Description:  选择最新十条新闻

--=============================================

CreatePROCEDURE [dbo].[news_selectNewNews]

 

AS

BEGIN

   select top10 n.id,n.title,n.createTime,c.[name],c.id as caId

   from news n

   inner join category c on n.caId=c.id

   order by n.createTime desc

END

 

执行存储过程的时候,将数据库中建好的存储过程,交给界面层然后传给Dal层处理,只要设置commandtype=StoredProdure,这样数据库就可以处理存储过程了。

PublicDataTable test(string ProcName)

{

DataTabledt=new DataTable();

Cmd=newSqlCommand(procName,GetConn());(打开连接,传入存储过程)

cmd.CommandType=CommandType.StoredProcedure;(执行sql语句和存储过程的差别)

   using(sdr=cmd.ExecuteReader(CommandBehavior.CloseConnection))

{

 Dt.load(sdr);

}

      Returnsdr;

}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码海拾贝2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值