黑马程序员技术交流社区

标题: 存储过程 [打印本页]

作者: 严鹏    时间: 2012-2-13 11:11
标题: 存储过程
哪位大侠能够告诉我存储过程是具体使用环境,以及在程序中是怎样调用已经编写好的存储过程的?
作者: Jewel    时间: 2012-2-13 13:30
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。  3.存储过程可以重复使用,可减少数据库开发人员的工作量   
4.安全性高,可设定只有某些用户才具有对指定存储过程的使用权
作者: 周平武    时间: 2012-2-13 14:04
相信你看了下面网址中的内容后你就了解存储过程是怎么回事了~!
http://baike.soso.com/v449738.htm?pid=baike.box
作者: 黄晓波    时间: 2012-2-13 20:29
对数据库多次的复杂操作可以改直接的SQL语句为存储过程:其具体调用与单独使用SQL一样的,除了cmd.CommandType=CommandType.StoredProcedure;之外。
作者: 许庭洲    时间: 2012-4-28 16:40
本帖最后由 许庭洲 于 2012-4-28 16:41 编辑

调用和执行存储过程大部分用在由vc++开发的平台中,存储过程中的大部分操作SQL语句放在数据库里面,直接在平台里面通过触发语句调用存储过程,然后操作数据库处理数据,希望对你有帮助。
作者: 鲍晨    时间: 2012-5-2 15:19
这时我以前做项目时写的存储过程,以及调用方法
create procedure [dbo].[LoginUser]
(
  @username nvarchar(50),
  @password nvarchar(50)
)
as
if exists
(
  select * from [tb_User] where username=@username and password=@password
)
return 0--登录成功。
else
return 1--登录失败。
调用方法:
//用户登录
        public static int LoginUser(string username, string password)
        {
            SqlParameter paramName = new SqlParameter("username", username);
            SqlParameter paramPwd = new SqlParameter("password", password);
            SqlParameter[] param = { paramName, paramPwd };
            return SqlHelper.RunReturnProc("LoginUser",param);
        }
当然你的先在sqlhelper封装好对存储过程的执行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2