粗俗易懂的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.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 }
粗俗易懂的SQL存储过程在.NET中的实例运用的更多相关文章
- 利用sql 存储过程把表中内容自动生成insert语句
选中所在数据库 执行创建存储过程的sql CREATE proc [dbo].[spGenInsertSQL] (@tablename nvarchar(256),@sqlwhere varchar( ...
- 在SQL存储过程中给条件变量加上单引号
在SQL存储过程中给条件变量加上单引号,不加语句就会出问题,以下就是在存储过程中将条件where设置成了动态变化的,给where赋完值再和前面的语句拼接,再execute(SQL) ), )), )+ ...
- sql 解析字符串添加到临时表中 sql存储过程in 参数输入
sql 解析字符串添加到临时表中 sql存储过程in 参数输入 解决方法 把字符串解析 添加到 临时表中 SELECT * into #临时表 FROM dbo.Func_SplitOneCol ...
- (转载)delphi 中如何调用sql 存储过程
delphi 中如何调用sql 存储过程 使用TADOStoredProc组件,可以,给你举个例子好了 with ADOStoredProc1 do begin Close; Parameters.C ...
- sql存储过程中使用 output
1.sql存储过程中使用 output CREATE PROCEDURE [dbo].[P_Max] @a int, -- 输入 @b int, -- 输入 @Returnc int output - ...
- sql存储过程中使用 output、nvarchar(max)
1.sql存储过程中使用 output CREATE PROCEDURE [dbo].[P_Max] @a int, -- 输入 @b int, -- 输入 @Returnc int output - ...
- Oracle 在存储过程或函数中执行字符串sql
有时,我们需要在存储过程或函数中根据条件拼凑一些sql字符串语句,然后再执行拼凑后的sql字符串,如何做到呢? 参考以下代码: FUNCTION CALCULATE_TARGET_SCORE (CUR ...
- 用sql语句导出oracle中的存储过程和函数
用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' repl ...
- sql存储过程中循环批量插入
前几天有一个需求很头痛,部门是有上下级关系的,在给部门的经理赋予角色和权限的时候,通常我们都会认为假如经理A的部门是1,那么我给了他部门1 的管理权限,那么1的下级部门101,102,103 &quo ...
随机推荐
- PHP文件系统概述
>> 本文固定链接: http://php.ncong.com/php_course/file/wenjianxitong.html >> 转载请注明: 恩聪php 2014年 ...
- [Struts2学习笔记] -- 环境配置
在创建好WebProject后,就可以开始进行Struts2的环境配置,可以到Struts2官网下载,本环境使用struts-2.3.24.1版本. 首先导入必要的jar包到WebProject的/W ...
- TCP\UDP链接的异同
简单的说TCP与UDP的区别是有无连接状态.TCP是有连接状态的,而UDP没有,所以TCP是一种比较安全的通讯协议,而UDP则比较方便 TCP 127.0.0.1:1026 0.0.0.0:0 LIS ...
- IPv6套接字地址结构
IPv6套接字地址结构 struct in6_addr{ unit8_t sa_addr[16]; }; #define SIN6_LEN struct sockaddr_in6{ unit8_t s ...
- Web Services 介绍
Web Services 介绍 Web Services 是建立可交互操作的分布式应用程序的新平台 ; Web Services 平台是一套标准,它定义了应用程序如何在 Web 上进行交互操作 , 你 ...
- 《FPGA零基础入门到精通视频教程》-第001b讲软件的破解
高清视频和配套讲义这里下载 http://www.fpgaw.com/thread-68128-1-1.html 优酷视频地址,不是很清楚
- Understanding GC pauses in JVM, HotSpot's minor GC.
原文地址:http://blog.griddynamics.com/2011/06/understanding-gc-pauses-in-jvm-hotspots.html Stop-the-worl ...
- hibernate之CRUD操作
CRUD是指在做计算处理时的增加(Create).读取(Retrieve)(重新得到数据).更新(Update)和删除(Delete)几个单词的首字母简写. 下面列举实例来讲解这几个操作: 实体类: ...
- 动态内存Treap
注意root的v要给一个很奇怪的数,null的s是0. #include <cstdio> #include <iostream> #include <algorithm ...
- Largest Number——LeetCode
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...