C# 获取 oracle 存储过程输出参数值
public bool QueueToRegister(string appointsId, string enrolDoctor)
{
using (OleDbConnection conn = new OleDbConnection(DBHelper.Instance.ConnectionStr))
{
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
try
{
//插入号源属性
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "PROC_APPOINTTOENROL";
cmd.Parameters.Add("@p_APPOINTSID", OleDbType.VarChar).Value = appointsId;
cmd.Parameters.Add("@p_ENROLDOCTOR", OleDbType.VarChar).Value = enrolDoctor;
cmd.Parameters.Add("@p_IsUseCallCode", OleDbType.VarChar).Value = PubVariable.Instance.IsUseCallCode;
cmd.Parameters.Add("@p_AreaName", OleDbType.VarChar).Value = PubVariable.Instance.AreaName;
cmd.Parameters.Add("@p_result", OleDbType.Integer).Value = -1;
cmd.Parameters["@p_result"].Direction = ParameterDirection.InputOutput; if (cmd.ExecuteNonQuery() > 0)
{
var aa = cmd.Parameters["@p_result"].Value.ToString();
return true;
}
}
catch { return false; }
finally
{
if (conn.State != ConnectionState.Closed) conn.Close();
}
}
return false;
}
using (OleDbConnection conn = new OleDbConnection(str))
{
OleDbTransaction tran = null;
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
tran = conn.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Transaction = tran;
try
{
//插入号源属性
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "PROC_APPOINTTOENROL";
cmd.Parameters.Add("@p_APPOINTSID", OleDbType.VarChar).Value = appointsId;
cmd.Parameters.Add("@p_ENROLDOCTOR", OleDbType.VarChar).Value = enrolDoctor;
cmd.Parameters.Add("@p_IsUseCallCode", OleDbType.VarChar).Value = isUseCallCode;
cmd.Parameters.Add("@p_AreaName", OleDbType.VarChar).Value = areaName;
cmd.Parameters.Add("@p_result", OleDbType.Integer).Value = -1;
cmd.Parameters["@p_result"].Direction = ParameterDirection.InputOutput; if (cmd.ExecuteNonQuery() > 0)
{
string result = cmd.Parameters["@p_result"].Value.ToString();
log.WriteLogs("QueueToRegister return p_result:", "返回结果:", result);
if (result.Trim() != "1") return false; tran.Commit();
log.WriteLogs("执行QueueToRegister:", "执行成功", ofdepart);
return true;
}
}
catch (Exception ex)
{
tran.Rollback();
log.WriteLogs("执行QueueToRegister:", "异常", ex.ToString());
return false;
}
finally
{
if (conn.State != ConnectionState.Closed) conn.Close();
}
}
C# 获取 oracle 存储过程输出参数值的更多相关文章
- asp.net C#操作存储过程读取存储过程输出参数值
这段时间在做一个价格平台的项目时候,同事让我写一个存储过程.该存储过程是根据查询条件得出一组新数据,并且返回该组数据的总条数,此处的存储过程我用到了分页,其中主要知识点和难点是之前做项目的时候没有用到 ...
- C# 获取 oracle 存储过程的 返回值1
/// <summary> /// 返回对应表的模拟自增字段值 /// </summary> /// <param name="tablename"& ...
- Oracle存储过程 输出参数赋值异常:“Oracle.DataAccess.Types.OracleString”的类型初始值设定项引发异常。
场景: 写了一个有返回参数的存储过程,在个另开发人员机器上都正常.其它机器报如题错误.让人郁闷的是,所有调用方都是客户端,根本不存在网上众贴所说的版本不一致问题. 分析: 虽然网上的帖子没有根本解决问 ...
- C# 获取 oracle 存储过程的 返回值
存储过程 CREATE OR REPLACE PROCEDURE ADMIN.INSERT_OBJ ( OBJEFIRT_parms IN NVARCHAR2, OBJEDATT_parms IN N ...
- C#获取存储过程返回值和输出参数值的方法
//转自网络,先留个底 1.获取Return返回值 //存储过程 //Create PROCEDURE MYSQL // @a int, // @b int //AS // return @a + @ ...
- C#获取存储过程的 Return返回值和Output输出参数值
1.获取Return返回值 程序代码 //存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + ...
- 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值
关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxx ...
- oracle存储过程获取异常信息码和异常信息
oracle存储过程,可以通过sqlcode 获取异常编码.通过sqlerrm获取异常信息. 例子: create or replace procedure write2blob(p_id in nu ...
- Oracle存储过程获取YYYY-MM-DD的时间格式
环境:Oracle 10g,11g 问题重现:PL/SQL中命令窗口下,发现存储过程得到的时间格式不符合预期要求. SQL> select sysdate from dual; SYSDATE ...
随机推荐
- DevOps - 微服务与Serverless
微服务 简介 "微服务"强调的是服务的大小,它关注的是某一个点. "微服务架构"则是一种架构思想,需要从整体上对软件系统进行通盘的考虑. 通俗来说,微服务架构就 ...
- DRF序列化器的使用
序列化器的使用 序列化器的使用分两个阶段: 在客户端请求时,使用序列化器可以完成对数据的反序列化. 在服务器响应时,使用序列化器可以完成对数据的序列化. 序列化的基本使用 使用的还是上一篇博文中使用的 ...
- LeetCode.1175-质数排列(Prime Arrangements)
这是小川的第413次更新,第446篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第264题(顺位题号是1175).返回1到n的排列数,以使质数处于质数索引(索引从1开始).(请 ...
- 架构模式: API网关
模式: API网关 上下文 让我们假设您正在构建一个使用Microservice体系结构模式的在线商店,并且您正在实现产品详细信息页面.您需要开发产品详细信息用户界面的多个版本: 用于桌面和移动浏览器 ...
- Leetcode刷题5—最大子序和
一.题目要求 二.题目背景 动态规划(英语:Dynamic programming,简称 DP)是一种在数学.管理科学.计算机科学.经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式 ...
- 论文阅读 | HotFlip: White-Box Adversarial Examples for Text Classification
[code] [pdf] 白盒 beam search 基于梯度 字符级
- phpstorm设置的快捷键突然失效了,提示: IdeaVim ...
下班后,打开PHPstorm,突然感觉不对,经常用的快捷键突然用不了. 例如按了 Ctrl+F 快捷键后,提示: IdeaVim! Using the Ctrl+F shortcut for Vim ...
- arm-linux-ar常见用法
1) 创建test.a静态库 arm-linux-gcc -c a.o a.c arm-linux-gcc -c b.o b.c arm-linux-ar -rc test.a ...
- [转帖]判断Linux进程在哪个CPU核运行的方法
判断Linux进程在哪个CPU核运行的方法 原文网址:http://www.embeddedlinux.org.cn/html/xinshourumen/201601/30-5013.html 问 ...
- [转帖]图说Docker架构的各种信息
图说Docker架构的各种信息 2018-07-18 15:16:04作者:linux人稿源:运维之美 https://ywnz.com/linuxyffq/2344.html 介绍Docker架 ...