先上示例代码:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE insert_user
@phonenum varchar(20) ,
@name varchar(10),
@sex varchar(5),
@password varchar(20),
@isguide varchar(2),
@address varchar(30),
@signature varchar(100)
AS
BEGIN
insert into userTable
values (@phonenum,@name,@sex,@password,@isguide,@address,@signature)
END
GO
存储过程是什么?按我的理解:存储过程的内容就是一堆SQL语句,执行存储过程就是执行这些语句。触发器和存储过程类似,可以说触发器是特殊的存储过程。不过存储过程一般人为调用比较多。上述代码,就是创建了个简单的存储过程,名为insert_user ,目的为了向userTable插入数据。
对象资源管理器→数据库→可编程性→存储过程 , 右键新建即可
在SQLsever执行存储过程语句
在sql server中 执行带参数的存储过程
exec+空格+存储过程名+空格+参数
多个参数的话用逗号分隔 传出参数要加output
例如:
exec insert_user '1234599','misstext','男','123456','0','text省','hellow'
在C#中如何执行这些存储过程?
在 Sqlcommand cmd= new SqlCommand(cmdText, Getconn()); 中 , 创建的sqlcommand 对象 cmd中有个属性是CommandType,它的默认值是CommandType.Text,也就是默认执行的是sql语句 ,当cmd.CommandType=CommandType.StoredProcedure ,执行的便是存储过程。执行的内容(cmdText)写存储过程名,传入参数用SqlParameter 对象,参数名要和存储过程参数名一致。
相关SQLhelper和使用方法可参照 http://blog.csdn.net/supersmart_dong/article/details/71512345