SQL Server中存储过程Stored Procedure创建及C#调用

存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点: 1、执行速度比普通的SQL语句快 2、便于集中控制 3、可以降低网络的通信量 4、保证数据库的安全性和完整性 5、灵活性

创建存储过程 可以采用Transact-SQL语句来创建存储过程Stored Procedured。在Microsoft SQL Server Management Studio中Databases->Database Name->Programmability->Stored Procedures右键选择Stored Procedure就生成了一个创建存储过程的模板,修改其中的内容再执行就创建了Stored Procedured。

下面我首先以创建对表中插入数据的存储过程来为例。比如我的原始表是如下语句所创建的:

IF NOT EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N’Persons’) AND OBJECTPROPERTY(id,N’isUserTable’) = 1) CREATE TABLE Persons (Id_P int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255))

Stored Procedure创建插入功能的SQL如下:

USE [databasename]GOQUOTED_IDENTIFIER OBJECT_ID (insert_persons;GOinsert_persons– Add the parameters for the stored procedure here@id int,@lastname varchar(255),@firstname varchar(255),@adress varchar(255),@city varchar(255)ASBEGIN– SET NOCOUNT ON added to prevent extra result sets from– interfering with SELECT statements.Persons (Id_P, LastName, FirstName, Address, City)VALUES (@id, @lastname, @firstname, @adress, @city)ENDGO

以上代码完成了首先检查Stored Procedure是否存在,如果存在先把该Stored Procedure删掉,然后再创建该Stored Procedure。而其功能则是通过传入的参数,插入一条记录。直接点击Execute或者按F5则以上代码被执行,相应的数据库下面将有一个Stored Procedure名字为insert_persons。以SQL Server 2014为例,只要刷新相应的数据库,,再到Programmability->Stored Procedures下面就发现多了个dbo.insert_persons。

执行存储过程 在Stored Procedures下面找到相应的存储过程,点击右键选择Execute Stored Procedure…就可以产生一个新的对话框,填写输入的参数再点击OK就执行完毕。回去查看相应的表会发现多了一行数据。

当然我们也可以通过SQL语句来执行存储过程。

EXECUTE insert_persons 5,”Wang”,”San”,”Zhongguancun”,”Beijing”EXECUTE insert_persons @id = 6,@firstname = “Wang”,@lastname = “San”,@adress = “Zhongguancun”,@city = “Beijing”

C#执行存储过程 下面的代码比较简单的展示了如何利用C#来执行上面创建的存储过程:

String conStr = @”Data Source=host\SQLEXPRESS;Initial Catalog=dbtan;Integrated Security=SSPI”;SqlConnection con = new SqlConnection(conStr);try{con.Open();Console.WriteLine(“Connect Sucess!”);SqlCommand = System= con= “insert_persons”;SqlParameter pId = new SqlParameter(“id”, 10);SqlParameter pLastName = new SqlParameter(“lastname”, “last”);SqlParameter pFirstName = new SqlParameter(“firstname”, “first”);SqlParameter pAdress = new SqlParameter(“adress”, “pop”);SqlParameter pCity = new SqlParameter((pId)(pLastName)(pFirstName)(pAdress)(pCity)();}catch (Exception e){Console.WriteLine(e.ToString());}finally{con.Close();}Console.ReadKey();

积极的人在每一次忧患中都看到一个机会,

SQL Server中存储过程Stored Procedure创建及C#调用

相关文章:

你感兴趣的文章:

标签云: