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. poj2892

    题解: 答案=后缀-前缀-1 如果被轰了,那么就时0 在一开始加入0,n+1,保证有前缀后缀 代码: #include<cstdio> #include<cmath> #inc ...

  2. mysql 索引原理及查询优化 -转载

    转载自 mysql 索引原理及查询优化 https://www.cnblogs.com/panfb/p/8043681.html 潘红伟   mysql 索引原理及查询优化 一 介绍 为何要有索引? ...

  3. python 抓取request信息,各种cookie,user-agent类的信息,只调试到http可以抓取,https貌似不行。

    import pcap # 安装的是pypcap,本博客有安装方法,不过也比较乱,试试吧.import dpktimport socketimport datetime def sniffer(str ...

  4. L1-052 2018我们要赢

    2018年天梯赛的注册邀请码是“2018wmyy”,意思就是“2018我们要赢”.本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在第一行中输出:“2018”:第二行中输出: ...

  5. MS14-021: Internet Explorer 安全更新: 2014 年 5 月 1 日

    微软推送全平台IE零日漏洞补丁 2014.05.2 3 Comments 207 views今天,微软正式发布IE安全补丁,修复4月底曝光的零日漏洞.用户可通过Windows Update自动更新服务 ...

  6. windows下清除svn密码

    刚进公司的时候没有SVN账号,暂用别人的账号很平常,为了更好的代码管理,后面肯定用自己的账号. 那么怎么清除呢. 进入 C:\Documents and Settings\Administrator\ ...

  7. try catch finally return运行顺序

    首先让我们搞懂两组概念:try catch finally和return 1.try catch finally 首先说try catch, (1)try语句 ,try语句用来包围可能出现异常的代码片 ...

  8. 用js取1-100的随机数

    function sum (m,n){ var num = Math.floor(Math.random()*(m - n) + n); alert(num) } sum(1,100): 万能 公式, ...

  9. Kaggle新手入门之路(完结)

    学完了Coursera上Andrew Ng的Machine Learning后,迫不及待地想去参加一场Kaggle的比赛,却发现从理论到实践的转变实在是太困难了,在此记录学习过程. 一:安装Anaco ...

  10. centos 7 NAT模式网络设置

    打开虚拟机.菜单栏点击‘编辑’ -> ‘虚拟网络设置’. 注意下图红色框地方的设置: 然后进入linux系统,编辑网络配置: vi /etc/sysconfig/network-scripts/ ...