存储过程的书写格

CREATE   PROCEDURE   [拥有者.]存储过程名[;程序编号]  
[(参数#1,…参数#1024)]  
[WITH  
{RECOMPILE   |   ENCRYPTION   |   RECOMPILE,   ENCRYPTION}  
]  
[FOR   REPLICATION]  
AS   程序行

*注  with   {recompile|encryption}
        recompile:表示每次执行此存储过程时都重新编译一次
        encryption:所创建的存储过程的内容会被加密

*存储过程名不能超过128个字。每个存储过程中最多设定1024个参数

在sql sever2005数据库中执行以下代码

create procedure my_cp
          @CustomerName varchar(50),
          @CustomerID varchar(50),
          @Address varchar(50) output
          as
          SELECT * FROM [TM_Customer] where [Name]like '%'+@CustomerName+'%'
          and [Customer ID] like '%'+@CustomerID+'%';
          SELECT @Address = Address FROM [TM_Customer] where [Name]like '%'+@CustomerName+'%'
          and [Customer ID] like '%'+@CustomerID+'%';
          SET @Address = @Address + '------上海'

.net中代码

string conString = "Data Source=.;Initial Catalog=text;Integrated Security=True;max pool size=300";
            SqlConnection sqlConn = new SqlConnection(conString);
            sqlConn.Open();
            SqlCommand sqlCmd = new SqlCommand();
            sqlCmd.Connection = sqlConn;
            sqlCmd.CommandType = CommandType.StoredProcedure;
            sqlCmd.CommandText = "my_cp";

SqlParameter para = sqlCmd.Parameters.Add("@CustomerName", SqlDbType.VarChar, 50); //参数1
            para.Value = "地铁票务";
            SqlParameter para1 = sqlCmd.Parameters.Add("@CustomerID", SqlDbType.VarChar, 50);  //参数2
            para1.Value = "002";
            SqlParameter para2 = sqlCmd.Parameters.Add("@Address", SqlDbType.VarChar, 50);     //参数3
            para2.Direction = ParameterDirection.Output;   //因为参数3只是存储过程的输出
            //para2.Value = "aa";   因为是ParameterDirection.Output所以参数3不需要传入值
            //注:para2==sqlCmd.Parameters["@Address"]

DataTable dt = new DataTable();
            SqlDataReader data = sqlCmd.ExecuteReader();
            dt.Load(data);

dataGridView1.DataSource = dt;
            textBox1.Text = Convert.ToString(para2.Value);

转载于:https://blog.51cto.com/shirong/458111

.net中存储过程的应用相关推荐

  1. 什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么?

    什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么? 存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名 ...

  2. 把sqlserver中存储过程改写到oracle中

    一同学叫我帮忙改存储过程sqlserver----->oralce数据中: sqlserver中存储过程: SET QUOTED_IDENTIFIER ON     GO  SET ANSI_N ...

  3. SqlServer中存储过程中将Exec的执行结果赋值给变量输出

    原文 SqlServer中存储过程中将Exec的执行结果赋值给变量输出 背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字 ...

  4. mysql 过程 的函数的区别是什么意思_Mysql中存储过程和函数的区别是什么

    Mysql中存储过程和函数的区别是什么 发布时间:2020-12-03 10:01:49 来源:亿速云 阅读:105 作者:小新 这篇文章主要介绍了Mysql中存储过程和函数的区别是什么,具有一定借鉴 ...

  5. Sql Server 中存储过程的output return的区别

    看http://zxianf.blog.163.com/blog/static/301207012009114104124969/中片关于Sql Server中存储过程output和return值的区 ...

  6. Sql中存储过程的定义、修改和删除操作

    Sql中存储过程的定义.修改和删除操作 1.存储过程的分类 系统存储过程 本地存储过程(用户自定义) 临时存储过程(局部[#].全局[##]临时存储过程) 2.创建存储过程 ? 1 2 3 4 5 6 ...

  7. SqlServer和MySQL中存储过程out返回值处理C#代码

    1.SqlServer中out处理 C#代码 #region"SqlServer中存储过程处理out返回值"//public void getdata()//{// string ...

  8. oracle中存储过程和函数有什么区别,Oracle中存储过程和函数的区别

    Oracle中存储过程和函数的区别 存储过程和函数:  www.2cto.com 例子: [sql] //创建过程 create or replace procedure add_emailinfo( ...

  9. PL/SQL中存储过程int和out的用法

    PL/SQL中存储过程int和out的用法 一 介绍 过程和函数中的in和out (1)一般来讲,过程和函数的区别在于函数可以有一个返回值:而过程没有返回值. (2)但过程和函数都可以通过out指定一 ...

  10. 数据库中存储过程和触发器的区别是什么

    今天给大家分享的是数据库中存储过程和触发器的区别是什么,很多人都不太了解,今天为了让大家更加了解数据库中存储过程和触发器的区别,所以给大家总结了以下内容,一起往下看吧.一定会有所收获的哦. 存储过程和 ...

最新文章

  1. php实现文件夹管理器,php实现文件管理与基础功能操作
  2. 潘建伟团队进行人类首次洲际量子通信,给奥地利发去了什么?
  3. 谁动了我的内存之PHP内存溢出
  4. HTML5学习路线资料,HTML5前端面试的技术栈
  5. lstm 文本纠错_工业界纠错系统
  6. java多文件post请求_如何使用Java发出多部分/表单数据POST请求?
  7. 无法打开物理文件 XXX.mdf,操作系统错误 5.5(拒绝访问) 的解决办法
  8. 小米MIX 4屏幕规格曝光:华星光电1080P面板 或支持屏下摄像
  9. cmd命令打开文本文档_Windows常用cmd命令总结
  10. 利用Travis IC实现Hexo博客自动化部署
  11. java使用java.lang.Math类,生成100个0-99之间的随机整数,并找出它们中间的最大值和最小值,并统计大于50的整数的个数。打印3次运行结果,看是否相同。
  12. 网络核心之分组交换与电路交换
  13. Bluetooth资格认证(BQB)学习
  14. 如何成为一名合格的程序员?
  15. Java数据结构之栈与计算器
  16. 数据库Navicat建表出现1064错误原因
  17. C++实验3— 个人所得税计算器
  18. 关于matlab求含有nan矩阵的均值
  19. 计算机windows7桌面管理,windows7桌面图标【管理要领】
  20. ARM异常处理(3):Bus faults、Memory management faults、Usage faults、Hard faults详解

热门文章

  1. 延长端粒续命有风险,科学家警告:端粒过长反而容易患癌
  2. AI玩起音乐来“天赋”惊人,新版加州旅馆听过没?还是熟悉的老鹰乐队嗓音...
  3. 阿里达摩院正式加入5G巨头仗:瞄准新基建,成立XG实验室,要与华为战一战
  4. 入围CVPR最佳论文,这项AI基础研究让我们对虎牙刮目相看
  5. Bytom移动端钱包SDK开发基础
  6. session、flask session知识的相关收集
  7. 一个listMap里map其中的一个字段的值相同,如何判断这个字段相同,就把这个map的其他字段存入另一个map中...
  8. java8-06-自定义Collector-JoinCollector
  9. Linux下添加新硬盘,分区及挂载
  10. 【高可用HA】Apache (4) —— Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_jk