C# 获取 oracle 存储过程的 返回值1

/// <summary>
        /// 返回对应表的模拟自增字段值
        /// </summary>
        /// <param name="tablename">表名</param>
        /// <returns>表的模拟自增字段值</returns>
        public decimal GetPKNum(string tablename)
        {
            switch (sqlType)
            {
                case "MSSQL2008":
                    parameters = new List<DbParameter>();
                    parameters.Add(new SqlParameter("@table_name", SqlDbType.VarChar, 50));
                    parameters.Add(new SqlParameter("@key_value", SqlDbType.Decimal, 9));
                    parameters[0].Value = tablename;
                    parameters[1].Direction = ParameterDirection.Output;
                    break;
                case "Oracle":
                    parameters = new List<DbParameter>();
                    parameters.Add(new OracleParameter(":tb_name", Oracle.ManagedDataAccess.Client.OracleDbType.Varchar2, 50));
                    parameters.Add(new OracleParameter(":key_value", Oracle.ManagedDataAccess.Client.OracleDbType.Decimal));
                    parameters[0].Value = tablename;
                    parameters[0].Direction = ParameterDirection.Input;
                    parameters[1].Direction = ParameterDirection.Output;
                    break;
                default: break;
            }
            IDBHelper dbhelper = DBFactory.createDBHleper();
            return dbhelper.RunProcedure(Utility.DB.PubConstant.ConnectionString,parameters, "up_get_table_key");
        }
IDBHelper dbhelper = DBFactory.createDBHleper();是后台创建了一个dbhelp文件,如果当时是Oracle数据库  dbhelper 就为 OracleHelper文件
此oracle 存储过程具有两个参数,key_value 是返回参数out
Utility.DB.PubConstant.ConnectionString是数据库连接字符串
"up_get_table_key"为存储过程名称
 
时间: 2024-10-29 00:17:27

C# 获取 oracle 存储过程的 返回值1的相关文章

C# 获取 oracle 存储过程的 返回值

存储过程 CREATE OR REPLACE PROCEDURE ADMIN.INSERT_OBJ ( OBJEFIRT_parms IN NVARCHAR2, OBJEDATT_parms IN NVARCHAR2, OBJESECT_parms IN NVARCHAR2, OBJECONTENT_parms IN NVARCHAR2, ISRELEASE_parms IN INTEGER, OBJECODE_parms IN NVARCHAR2, TAGS_parms IN NVARCHAR

利用SQLServer查询分析器获取存储过程的返回值,检查测试存储过程

1.存储过程没有返回值的情况(即存储过程语句中没有return之类的语句)用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况(1)如果通过查询分析器执行该存储过程,在显示栏中如果有影响的行数,则影响几行count就是几(2)如果通过查询分析器执行该存储过程,在显示栏中如果显示'命令已成功完成.'则count = -1;在显示栏中如果有查询结果,则count = -1总结:A.ExecuteNonQuery()该方法只返回影响的行数,如果没有影响

将存储过程的返回值赋给变量

1.OUPUT参数返回值 复制代码代码如下: CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: 复制代码代码如下: DECLARE @o_buyerid int

Entity Framework中对存储过程的返回值的处理

很早就开始注意到EF了,但一直没有机会用,换了工作后,第一个项目就使用EF6进行开发. 项目不是很大,EF完全可以胜任. 但是开发过程中,难免还是会遇到一些复杂的运算,需要频繁访问数据库. 此时,想到的比较简单的方式,就是使用存储过程,在存储过程中进行一定的运算,然后把运算的结果(一个查询结果)通过存储过程返回. 思路上完全没有问题,就直接建了一个存储过程,然后更新edmx.发现,更新后,EF中,生成的对这个存储过程的调用,返回结果却是“Int”??? 之前也有做过通过存储过程返回值,都是返回一

SqlServer 获得存储过程的返回值(参数返回),别玩了output

declare @dingdanid int declare @fanhuizhi int set @dingdanid = 1 exec 检测订单出库资格 @dingdanid ,@fanhuizhi output   (注意别忘了output否则返回值是NULL) select @fanhuizhi create proc dbo.检测订单出库资格 @dingdanID int,     @returnValue int output as -- 输入变量 订单编号 set @returnV

Selenium2学习-036-WebUI自动化实战实例-034-JavaScript 在 Selenium 自动化中的应用实例之六(获取 JS 执行结果返回值)

Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: 1 /** 2 * Get Object of return from js 3 * 4 * @author Aaron.ffp 5 * @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCore.java execJSR, 2015-8-9

怎样获取shell函数的返回值及shell命令的返回值?

1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo "res: "${res} 说明:res=`info`这一行为调用函数info,里面的符号`不是单引號,而是Esc按键以下的那个.另外$?返回的为上一条命令的运行状态,不是返回值. 2.获取shell命令的返回值,原理同上,比如: #!/bin/sh info=`cat jlb.sh` echo &q

SqlServer和MySQL中存储过程out返回值处理C#代码

1.SqlServer中out处理 C#代码 #region"SqlServer中存储过程处理out返回值" //public void getdata() //{ // string str = " server=192.168.xxxx ;user id=xxx;[email protected]#;database=xxxxx_db;min pool size=4;max pool size=4;packet size=3072"; // SqlConnect

如何获取shell函数的返回值及shell命令的返回值?

1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo "res: "${res} 说明:res=`info`这一行为调用函数info,里面的符合`不是单引号,而是Esc按键下面的那个,另外$?返回的为上一条命令的执行状态,不是返回值: 2.获取shell命令的返回值,原理同上,例如: #!/bin/sh info=`cat jlb.sh` echo &q