当前位置:数据库 > SQLServer >>

粗俗易懂的SQL存储过程在.NET中的实例运用

 

整理了一下存储过程在项目中的运用,防止遗忘,便记录于此!存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。总的来说,存储过程具有以下一些优点:

 

◆存储过程允许标准组件式编程

 

◆存储过程能够实现较快的执行速度

 

◆存储过程能够减少网络流量

 

◆存储过程可被作为一种安全机制来充分利用

 

本文作者将向大家介绍.NET数据库应用程序中存储过程的应用,以及如何将它与ADO.NET中的SqlDataAdapter对象、DataSet对象等结合使用以提高.NET数据库应用程序的总体性能。

 

创建一个简单的存储过程

 

1.不带参数的查询的存储过程

 

CREATE PROC [dbo].[SelectUsers]

AS

begin

SELECT * from dbo.FMS_Users

end

 

执行下一句即可得到结果:

 

exec SelectUsers

 

创建以上存储过程后,保存之。保存完毕,与该存储过程相对应的节点就会出现在服务器资源管理器中。同时请注意代码编辑窗口中的CREATE关键字变为ALTER关键字了,该关键字是用于更改任何现有的存储过程的。要运行上述存储过程,只要点击其节点并在右键弹出菜单中 执行存储过程”,运行的结果图示如下:

\

好了 接下来在IDE环境中去调用:

 

 

写一个方法在合适的地方调用即可

 

 

 

01 private void Stroedprocedure() 

 

02         { 

 

03             string con=System.Configuration.ConfigurationManager.ConnectionStrings["consql"].ToString(); 

 

04             SqlConnection conn=new SqlConnection(con); 

 

05             conn.Open(); 

 

06             //相应的存储过程名称及数据库连接 

 

07             SqlCommand cmd = new SqlCommand("SelectUsers",conn); 

 

08             // cmd.CommandType = CommandType.StoredProcedure; 

 

09             //cmd.CommandText = "SelectUsers"; 

 

10             //cmd.Connection = conn; 

 

11             SqlDataAdapter da = new SqlDataAdapter(); 

 

12             da.SelectCommand = cmd; 

 

13             DataTable ds = new DataTable(); 

 

14             da.Fill(ds); 

 

15               

 

16             GridView1.DataSource = ds; 

 

17             GridView1.DataBind(); 

 

18              

 

19   

 

20               

 

21         }

 

ok 已经完成了无参数的存储过程的实例调用!

 

第二有参数的存储过程的调用 (道理一样)

 

创建存储过程语句

 

create proc [dbo].[SelectParUsers]

(

  @id int

)

as

begin

select * from dbo.FMS_Users where userId=@id

end

 

执行以下语句即可得到结果

 

 exec SelectParUsers 22

 

 

通过某一个ID查找数据

 

 

 

01 private static DataTable Stroedprocedure(int id) 

 

02         { 

 

03 www.zzzyk.com           string con=System.Configuration.ConfigurationManager.ConnectionStrings["consql"].ToString(); 

 

04             SqlConnection conn=new SqlConnection(con); 

 

05             conn.Open(); 

 

06           SqlCommand cmd = new SqlCommand("SelectParUsers", conn); 

 

07             cmd.CommandType = CommandType.StoredProcedure; 

 

08             //cmd.CommandText = "SelectParUsers"; 

 

09             //cmd.Connection = conn; 

 

10             SqlDataAdapter da = new SqlDataAdapter(cmd); 

 

11             cmd.Parameters.Add("@id", SqlDbType.Int, 32).Value = id; 

 

12             //SqlDataAdapter da = new SqlDataAdapter(cmd); 

 

13             //da.SelectCommand = cmd; 

 

14             DataTable ds = new DataTable(); 

 

15             da.Fill(ds); 

 

16               

 

17              return  ds            

 

18   

 

19               

 

20         }

 

 

 

 ok 基本的查找数据的存储过程结束  下一篇是增 删 改的操作!

摘自:黎明&岁月

补充:Web开发 , ASP.Net ,
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,