整理了一下存储过程在项目中的运用,防止遗忘,便记录于此!存储过程(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.2cto.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         }

最新文章

  1. 调用接口传递的XML 及排查原因
  2. H5 缓存机制浅析 移动端 Web 加载性能优化
  3. [转]MySQL主从复制入门
  4. LightOJ1017 Brush (III)(DP)
  5. SQL Server 2008 R2——学习/练习/错误/总结/搜集
  6. [转]VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
  7. css3 loading效果
  8. 通过xib加载textfield的时候 发生 this class is not key value coding-compliant for the key textField. 情况怎么解决
  9. ES6入门之函数的扩展
  10. 第一个js程序
  11. JS为Select下拉框添加输入功能
  12. Swift学习笔记 - 函数与闭包
  13. js基础——属性操作
  14. resin远程调试配置,connection refused问题解决
  15. POJ 2411 状态压缩递,覆盖方案数
  16. GTK简单了解记录
  17. (转载)oracle 在一个存储过程中调用另一个返回游标的存储过程
  18. YUM源、磁盘基础知识 CDN概念
  19. 自己动手编写IOC框架(三)
  20. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](五)

热门文章

  1. localstorage || globalStorage || userData
  2. Windows下Apache部署Django过程记录
  3. Linux 下 将使用Python-Django开发的web应用布置到服务器上(亲测有效)
  4. Stack集合 Queue队列集合 Hashtable哈希表
  5. JMS集群部署问题 java.net.ConnectException: Connection refused; No available router to destination
  6. Actor模型
  7. DSP开发资源总结,经典书籍,论坛
  8. JavaScript AMD 模块加载器原理与实现
  9. 【转】设置TextView文字居中
  10. Java中BitSet使用(转)