C#调用oracle 存储过程与调用Sql server存储过程类似,比较简单:直接给出示例:

  /// <summary>
/// 判断物料类型是不是总部管控
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
/// <summary>
public bool IsHeadquartersPart(string key)
{
isGroupPart = false;
OracleCommand cmd = new OracleCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = (OracleConnection)this.dbParam.Connection;
cmd.CommandText = "PLM_ECMS_CheckPartType"; OracleParameter[] parameters = {
new OracleParameter(":pid", OracleDbType.Varchar2),
new OracleParameter(":parttype", OracleDbType.Int32)
};
parameters[].Value = key;
parameters[].Direction = ParameterDirection.Input; parameters[].Direction = ParameterDirection.Output; for (int i = ; i < parameters.Length; i++)
{
cmd.Parameters.Add(parameters[i]);
} cmd.Prepare(); try
{
int k = ;
cmd.ExecuteNonQuery();
bool temp = int.TryParse(parameters[].Value.ToString(), out k);//返回代码;0表示成功,非0表示不成功 return temp ? (k == ? true : false) : false;
}
catch (Exception ex)
{
LogHelper.CreateErrorLogTxt("IsHeadquartersPart", ex.Message, cmd.CommandText);
return false;
}
finally
{
cmd.Dispose();
} }

存储过程如下:

 create or replace procedure PLM_ECMS_CheckPartType(pid  in nvarchar2,
parttype out integer) as intNum integer := 0;
rc_id varchar2(36) := '1dda4a6a-c633-4c63-bc1b-74efbb5b01e1'; --总部通用物料 begin --用在经纬权限判断JW 根据传入的物料id 来判断顶级物料是不是产品通用物料 如果是返回1 不是返回0
parttype := 0;
select count(1) into intNum from Plm_Ecms_Rule rc where rc.r_id = pid;
if intNum >= 1 then
--是规则
intNum := 0;
select count(1)
into intNum
from Plm_Ecms_Rclass r
where r.rc_id in
(select r.rc_id
from Plm_Ecms_Rclass r
start with r.rc_id = (select rc.rc_id
from Plm_Ecms_Rule rc
where rc.r_id = pid)
connect by r.rc_id = prior r.rc_pid)
and r.rc_id = rc_id;
if intNum >= 1 then
--是总部集中管控物料
parttype := 1;
end if;
--是类型
else
select count(1) into intNum
from Plm_Ecms_Rclass rc
where rc.rc_id in (select r.rc_id
from Plm_Ecms_Rclass r
start with r.rc_id = pid
connect by r.rc_id = prior r.rc_pid)
and rc.rc_id = '1dda4a6a-c633-4c63-bc1b-74efbb5b01e1'; if intNum >= 1 then
--是总部集中管控物料
parttype := 1;
end if; end if; end PLM_ECMS_CheckPartType;

C#调用 oracle存储过程的更多相关文章

  1. MyBatis调用Oracle存储过程

    MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...

  2. Java调用oracle存储过程通过游标返回临时表数据

    注:本文来源于 <  Java调用oracle存储过程通过游标返回临时表数据   > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...

  3. C#调用Oracle存储过程

    C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collections.Obje ...

  4. 123 c#调用oracle存储过程返回数据集 --通过oracle存储过程返回数据集

    c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS  ...

  5. c#调用oracle存储过程返回数据集

    c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS  ...

  6. C#调用Oracle存储过程的方法

    C#调用Oracle存储过程的方法 准备: 环境:pl/sql+oracle9i+vs2008 创建表test: create table TEST(  ID      NUMBER,//编号  NA ...

  7. Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例

    Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...

  8. python调用oracle存储过程

    oracle 存储过程 python调用oracle存储过程 -- 通过cx_Oracle连接 import cx_Oracle # 连接数据库 orcl_engine = 'scott/s123@x ...

  9. 用java 调用oracle存储过程总结

    SSM-Mybatis调用Oracle存储过程返回结果集(游标)示例 https://www.jianshu.com/p/0ae6d9d66d61 用java调用oracle存储过程总结 //1.ca ...

随机推荐

  1. RMI(Remote Method Invocation ) 概念恢复

    1.RMI是远程方法调用的简称,像其名称暗示的那样,它能够帮助我们查找并执行远程对象,通俗的说,远程调用就像一个class放在A机器上,然后在B机器中调用这个class的方法. 2.EMI术语 在研究 ...

  2. c99柔性数组

    变长结构体 struct test { int nSize; char data[]; // 或者 char data[0];但建议使用 char data[]; 注意:c98 时不支持柔性数组,其仅 ...

  3. 浅析position:relative position:absolute

    定位一直是WEB标准应用中的难点,如果理不清楚定位那么可能应实现的效果实现不了,实现了的效果可能会走样.如果理清了定位的原理,那定位会让网页实现的更加完美. 定位的定义: 在CSS中关于定位的内容是: ...

  4. insert失败自动执行update(duplicate先insert)

    例如:有一张表 字段有  id主键自增,或者唯一索引:datetime时间  name名字 INSERT INTO TABLE (id,datetime) VALUES (1,1440000000), ...

  5. Android 权限处理

    概述: 为了保护系统的完整性和用户隐私权,Android 在访问受限的沙盒中运行每款应用. 如果应用需要使用其沙盒以外的资源或信息,则必须明确请求权限. 根据应用请求的权限类型,系统可能会自动授予权限 ...

  6. jni 写一个简单的photoshop

    第一步创建 ui <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...

  7. Phpstorm-sftp配置

      保存就可以了 随便点一个文件,右键就可以了,保存,上传快捷键

  8. HDU 1507 Uncle Tom's Inherited Land*(二分匹配,输出任意一组解)

    Uncle Tom's Inherited Land* Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  9. THttpClientSocket token验证

    THttpClientSocket uses SynCrtSock非WINHTTP.DLL里面的控件,可以用于手机端. function Client(const SQL: RawUTF8): Raw ...

  10. iOS开发利器-CocoaPods安装和使用教程

    新博客http://www.liuchendi.com 开发iOS项目时肯定会用到许多第三方项目,比如说:ASIHttprequest,JSONKit等等,一些类库可能又关联着其他类库,如果超过一定的 ...