NET中调用存储过程(Output、Input)
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)的更多相关文章
- ASP.NET中调用存储过程方法
两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明.本文所 ...
- oracle中存储过程中调用存储过程
存储过程中调用存储过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in nu ...
- 在PL/SQL中调用存储过程--oracle
在oracle10中写好了存储过程,代码如下: CREATE OR REPLACE Procedure Proc_Insert ( sName in varchar2, sAge in int, sE ...
- Asp.Net中调用存储过程并返回输出参数
/// <summary> /// 调用存储过程返回参数 /// </summary> /// <param name="orderId">&l ...
- sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
用sql server自带的消息队列service borker,调用存储过程中,执行了一个跨库的操作,先是用了一个用户,权限什么都给够了,但是一直提示 服务器主体 "user" ...
- MyBatis中调用存储过程和函数
一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程 create or replace procedure pag_add(p1 varchar2,p2 v ...
- oracle 存储过程中调用存储过程
create procedure sp_name() begin ……… end 比如: create procedure pro_showdbs() show datebase; end //用ex ...
- IBatis.Net学习笔记十三:在IBatis.Net中调用存储过程
其实调用方式比较简单,主要也就是两种类型的存储过程:1.更新类型的存储过程2.查询类型的存储过程下面就来看看具体的调用方式:1.更新类型的存储过程sp_InsertAccount: CREATE PR ...
- C#中调用存储过程:带输入输出参数
using (SqlConnection conn = new SqlConnection(this.GetConnectionString(this.WMPDBName))) { SqlComman ...
随机推荐
- learning docker steps(4) ----- docker swarm 初次体验
参考:https://docs.docker.com/get-started/part4/ 了解 swarm 集群 swarm 是一组运行 Docker 并且已加入集群中的机器.执行此操作后,您可以继 ...
- 跟我一起学习ASP.NET 4.5 MVC4.0(一)
跟我一起学习ASP.NET 4.5 MVC4.0(一) 由于上面一个项目使用的是ASP.NET4.0 MVC3.0,在招人的时候发现很多人有听说过MVC,但是却是没用过,对MVC也只是一知半解,最 ...
- bzoj3040
题解: 模板题,地界特斯拉+堆优化 注意第一种建边 代码: #include<bits/stdc++.h> using namespace std; typedef long long l ...
- Swift网络封装库Moya中文手册之Providers
Providers 使用Moya,你可以通过一个 MoyaProvider 的实例发送所有网络请求,通过枚举来指定你要访问的具体API.在配置你的 Endpoint 之后,你差不多就做好了基础配置: ...
- DevExpress v17.2新版亮点—DevExtreme篇(二)
用户界面套包DevExpress DevExtreme v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExtreme v17.2 的New Color Sche ...
- easyui常用属性
属性分为CSS片段和JS片段. CSS类定义:1.div easyui-window 生成一个window窗口样式. 属性如下: 1)mod ...
- webpack 性能优化 -- 待续
文章 这篇文章挺不错的, 各方面优化都提到了, 有空研究下 文章 这个文章提出 , 增量打包用 webpack-watch 会让你打包速度飞快, react不参与打包, 不require, 而是放在 ...
- C语言基础:内存 分类: iOS学习 c语言基础 2015-06-10 21:59 23人阅读 评论(0) 收藏
全局变量:定义在函数之外.(不安全) 局部变量;定义在函数之内. 内存的划分:1栈区 2堆区 3静态区(全局区) 4常量区 5代码区 栈区..静态区.常量区.代码区的数据都是由系统分配和释放 ...
- Express文件上传之Multer
Express文件上传之Multer Multer是一个nodejs中间件,用来处理http提交multipart/form-data,也就是文件上传.它是在busboy的基础上开发的. 在我看来,M ...
- 搭建一个SVN
1--------------------------------------首先需要下载SVN---------------------------------------------------- ...