sql 储存过程的使用
--获取所有数据 根据自定义函数传人类型id返回类型名称 USE [Cloths] GO /****** Object: StoredProcedure [dbo].[Proc_all] Script Date: 05/23/2014 12:10:37 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Proc_all] AS BEGIN SET NOCOUNT ON; select ClothColorId ,Name ,dbo.myfun1(TypeId) as typename from dbo.ClothColors; END
这些储存过程都是修改的,吧ALTER改为create 就可以在数据库中创建
USE [Cloths] GO /****** Object: UserDefinedFunction [dbo].[myfun1] Script Date: 05/23/2014 13:53:46 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --自定义函数 ALTER FUNCTION [dbo].[myfun1] ( @a varchar(50) ) returns varchar(50) as begin declare @name varchar(50); select @name=[types].name from [types] where typeid=@a; return @name; end
//既有传人参数,又有返回参数
USE [Cloths] GO /****** Object: StoredProcedure [dbo].[Proc_all] Script Date: 05/23/2014 13:56:48 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO--储存过程 ALTER PROCEDURE [dbo].[Proc_all] ( @name varchar(50), --默认传人 @count int output ) AS BEGIN SET NOCOUNT ON; select ClothColorId ,Name ,dbo.myfun1(TypeId) as typename from dbo.ClothColors where Name=@name; select @count=COUNT(1) from dbo.ClothColors; END
//是c#实现传人参数和返回参数
SqlCommand comm = new SqlCommand();
comm.Connection = new SqlConnection("Data Source=.;Initial Catalog=Cloths;Integrated Security=True");
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = "Proc_all";
comm.Parameters.Add(new SqlParameter("@name", "大红"));//传人参数
comm.Parameters.Add(new SqlParameter("@count",DbType.Int32));
comm.Parameters["@count"].Direction = ParameterDirection.Output; //这个必须写,不写不会返回要传出的参数
SqlDataAdapter sda = new SqlDataAdapter(comm);
DataSet ds=new DataSet ();
sda.Fill(ds);
sql 储存过程的使用的更多相关文章
- C#函数与SQL储存过程
一点点小认识作为memo,求指正. C#的函数与SQL的储存过程有很多的相似性, 它们都是一段封闭的代码块,来提高代码的重用性,虽然现在复制粘贴很方便,但是我们在写多个函数的时候频繁的复制粘贴相同的内 ...
- sql储存过程in(多个参数)
一.用sql函数 首先要创建一个截取字符串的函数,新建一个查询,把下面代码复制进去执行. 函数SqlitIn的第一个参数是储存过程要in的字符串,第二个参数是分隔符 CREATE function S ...
- 关于SQL储存过程中输出多行数据
declare @num1 int --为符合条件的总行数 select @num1=COUNT(1) from cardInfo where openDate between @ ...
- SQL储存过程
基本语法 创建存储过程 create procedure sp_name @[参数名] [类型],@[参数名] [类型] as begin ......... end 以上格式还可以简写成: crea ...
- SQL获取所有数据库名、表名、储存过程以及参数列表
SQL获取所有数据库名.表名.储存过程以及参数列表 1.获取所有用户名:SELECT name FROM Sysusers where status='2' and islogin='1'islogi ...
- SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数
-- SQL SERVER 判断是否存在某个触发器.储存过程 -- 判断储存过程,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE name='proc ...
- Sql语句导出数据库表结构及查询表视图储存过程名
--一句Sql把表结构全部查询出来 SELECT 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case When A.colo ...
- SQL Server 储存过程的output 参数
要做的参数的回传一方面要做到有储存过程的配合,再一方面也要有调用方法的配合,也就是说错误的调用方法是没有办法把值回传的. 下面是例子 --1.储存过程方面的配合 create procedure db ...
- Sql Server分页储存过程
--分页储存过程if exists (select * from sys.procedures where name='Page')drop proc Pagegocreate proc Page@P ...
随机推荐
- 破解xlsm文件的VBA项目密码和xlsx的工作簿保护密码
工具 待破解的xlsm文件.Excel2010.Hex Editor 步骤 1.修改.xlsm后缀为.zip 2.使用压缩软件打开,进入xl目录找到vbaProject.bin文件,解压出来 3.使用 ...
- python之导入模块
导入模块的方法: 导入整个模块:import module_name 导入特定函数:from module_name import function_name 给函数指定别名:from module_ ...
- python之文件目录操作
代码示例: # 改变当前目录操作 import os cur = os.curdir print("1.当前目录相对路径:", cur) par = os.pardir print ...
- codeforces437C
The Child and Toy CodeForces - 437C On Children's Day, the child got a toy from Delayyy as a present ...
- 使用vscode 编写Markdown文件
markdown简单语法参考下面简单事例: # 一级标题 1. 有序列表1 >1. 有序列表1 >>- *test1* >>- **test2** >>- * ...
- BZOJ2588Count on a tree——LCA+主席树
题目描述 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始为0,即第一个 ...
- 关于js特效轮播图练习
[出现问题] js轮播图,图片未正常轮播. [解决方法] 通过对代码的检查,发现是以下三个原因造成的错误. 1.js代码问题 js代码使用alert(test);,测试修改完毕后,发现依然没有解决错误 ...
- EF 事务
http://yanwushu.byethost7.com/?p=87 1. EF对事务进行了封装:context的saveChange()是有事务性的. 2. 依赖多个不同的Context的操作(即 ...
- MT【27】对数方程组求范围
解答:3 评论:此类题目通性通法为换元后化归为线性规划问题.当然不等式凑配也是常见技巧,只是容易范围扩大或者缩小.
- 洛谷P1973 [NOI2011]Noi嘉年华(动态规划,决策单调性)
洛谷题目传送门 DP题怕是都要大大的脑洞...... 首先,时间那么大没用,直接离散化. 第一问还好.根据题意容易发现,当一堆活动的时间有大量重叠的时候,更好的办法是把它们全部安排到一边去.那么我们转 ...