NET中调用存储过程(Output、Input)

.NET中调用存储过程(Output、Input)

带输入输出参数的存储过程

带输入输出参数的存储过程

create procedure itemCodes

@itemName1 varchar(50),

@sizeName1 varchar(50),

@itemCode varchar(5) output

as

select @itemCode=itemmap.ItemCode from itemmap inner join item on itemmap.ItemCode=item.ItemCode where(item.ItemName1=@itemName1 and item.SizeName1=@sizeName1)

go

程序清单1

static void ExecuteStoredProcedure(string itemName1,string sizeName1)

{

string strConn = "server=localhost;uid=sa;pwd=sa;database=PAT";

SqlConnection conn = new SqlConnection(strConn);

conn.Open();

SqlCommand cmd = new SqlCommand("getItemCode", conn);

cmd.CommandType = CommandType.StoredProcedure;

//输入参数

SqlParameter param1 = new SqlParameter("@itemName1", SqlDbType.VarChar, 50);

param1.Value = itemName1;

cmd.Parameters.Add(param1);

//输入参数

SqlParameter param2 = new SqlParameter("@sizeName1", SqlDbType.VarChar, 50);

param2.Value = sizeName1;

cmd.Parameters.Add(param2);

//输出参数

SqlParameter param = new SqlParameter("@itemCode", SqlDbType.VarChar, 50);

param.Direction = ParameterDirection.Output;

cmd.Parameters.Add(param);

//执行存储过程

cmd.ExecuteNonQuery();

conn.Close();

//输出值

Console.WriteLine(param.Value);

}

程序清单2

static void ExecuteProcedure()

{

string strConn = "server=localhost;uid=sa;pwd=sa;database=PAT";

SqlConnection conn = new SqlConnection(strConn);

conn.Open();

SqlCommand cmd = new SqlCommand("getItemCode", conn);

cmd.CommandType = CommandType.StoredProcedure;

SqlParameter[] parameters =

{

new SqlParameter("@itemName1",SqlDbType.VarChar,50),

new SqlParameter("@sizeName1",SqlDbType.VarChar,50),

new SqlParameter("@itemCode",SqlDbType.VarChar,50)

};

parameters[0].Value = "Chai";

parameters[1].Value = "";

parameters[2].Direction = ParameterDirection.Output;

foreach (var p in parameters)

{

cmd.Parameters.Add(p);

}

cmd.ExecuteNonQuery();

conn.Close();

//输出值

Console.WriteLine(parameters[2].Value);

}

NET中调用存储过程(Output、Input)的更多相关文章

  1. ASP.NET中调用存储过程方法

    两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明.本文所 ...

  2. oracle中存储过程中调用存储过程

    存储过程中调用存储过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in nu ...

  3. 在PL/SQL中调用存储过程--oracle

    在oracle10中写好了存储过程,代码如下: CREATE OR REPLACE Procedure Proc_Insert ( sName in varchar2, sAge in int, sE ...

  4. Asp.Net中调用存储过程并返回输出参数

    /// <summary> /// 调用存储过程返回参数 /// </summary> /// <param name="orderId">&l ...

  5. sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。

    用sql server自带的消息队列service borker,调用存储过程中,执行了一个跨库的操作,先是用了一个用户,权限什么都给够了,但是一直提示 服务器主体 "user" ...

  6. MyBatis中调用存储过程和函数

    一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程 create or replace procedure pag_add(p1 varchar2,p2 v ...

  7. oracle 存储过程中调用存储过程

    create procedure sp_name() begin ……… end 比如: create procedure pro_showdbs() show datebase; end //用ex ...

  8. IBatis.Net学习笔记十三:在IBatis.Net中调用存储过程

    其实调用方式比较简单,主要也就是两种类型的存储过程:1.更新类型的存储过程2.查询类型的存储过程下面就来看看具体的调用方式:1.更新类型的存储过程sp_InsertAccount: CREATE PR ...

  9. C#中调用存储过程:带输入输出参数

    using (SqlConnection conn = new SqlConnection(this.GetConnectionString(this.WMPDBName))) { SqlComman ...

随机推荐

  1. spring boot 学习(七)小工具篇:表单重复提交

    注解 + 拦截器:解决表单重复提交 前言 学习 Spring Boot 中,我想将我在项目中添加几个我在 SpringMVC 框架中常用的工具类(主要都是涉及到 Spring AOP 部分知识).比如 ...

  2. 069——VUE中vuex之使用getters高效获取购物车商品总价

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 小程序中的bindtap和catchtap的区别(交流QQ群:604788754)

    bindtap绑定的节点,如果他的父节点也有绑定事件,点击之后就会出现冒泡. catchtap绑定的节点,如果他的父节点也有绑定事件,点击之后不会出现冒泡.

  4. HDU 2895 贪心 还是 大水题

    DESCRIPTION:大意是给你两个字符串.编辑距离只有add和delete会产生.所以.编辑距离最短一定是两个字符串的长度差.然后...呵呵呵呵.... 猜题意就可以了...但是...我觉得这个题 ...

  5. html和css命名标准以及常用的框架,我使用的是网易nec

    前端的工作很细,涉及的东西也很多,静态页面和js开发,调接口之类,有时还要自己设计.现在css管理使用less和sass,新东西起码要支持下,具体用与不用看公司的业务需求.前端人员之间的配合也很重要要 ...

  6. Runtime的基本运用

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  7. ASIHTTPRequest类库简介和使用说明(转)

    ASIHTTPRequest类库简介和使用说明 官方网站: http://allseeing-i.com/ASIHTTPRequest/ .可以从上面下载到最新源码,以及获取到相关的资料. 使用iOS ...

  8. Appium 并发多进程基于 Pytest框架

    前言: 之前通过重写unittest的初始化方法加入设备参数进行并发,实现了基于unittest的appium多设备并发,但是考虑到unittest的框架实在过于简陋,也不方便后期的Jenkins的持 ...

  9. 2243: [SDOI2011]染色(LCT)

    2243: [SDOI2011]染色 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 10909  Solved: 4216[Submit][Statu ...

  10. 前端内容安全策略(csp)

    什么是CSP CSP全称Content Security Policy ,可以直接翻译为内容安全策略,说白了,就是为了页面内容安全而制定的一系列防护策略. 通过CSP所约束的的规责指定可信的内容来源( ...