zoukankan      html  css  js  c++  java
  • C#执行参数为游标 返回一个记录集的Oracle存储过程

    public DataTable SelectPay_Unit()
            {
    
                string returns = "";
                DataTable objDataTable = new DataTable();//定义一个DataTable
                try
                {
                    //string connectionString = "Data Source=ORCL_201;User ID=XACXEQ_PeiXun;Password=11111;";
                    string connectionString = System.Configuration.ConfigurationManager.AppSettings["CoonString"].ToString();//连接字符串
                    OracleConnection con = new OracleConnection(connectionString);
                    con.Open();//打开连接
                    OracleCommand cmd = new OracleCommand("Proc_PXUnit_Pay", con); 
                    cmd.CommandType = CommandType.StoredProcedure;
                    OracleParameter op = new OracleParameter("cur_arg", OracleType.Cursor);//定义参数
                    op.Direction = ParameterDirection.Output;//设置参数类型
                    cmd.Parameters.Add(op);
                    
                    int intFieldCount = cmd.ExecuteReader(CommandBehavior.CloseConnection).FieldCount;
                    for (int intCounter = 0; intCounter < intFieldCount; ++intCounter)
                    {
                        objDataTable.Columns.Add(cmd.ExecuteReader(CommandBehavior.CloseConnection).GetName(intCounter), cmd.ExecuteReader(CommandBehavior.CloseConnection).GetFieldType(intCounter));
                    }
    
                    objDataTable.BeginLoadData();
    
                    object[] objValues = new object[intFieldCount];
                    while (cmd.ExecuteReader(CommandBehavior.CloseConnection).Read())
                    {
                        cmd.ExecuteReader(CommandBehavior.CloseConnection).GetValues(objValues);
                        objDataTable.LoadDataRow(objValues, true);
                    }
                    cmd.ExecuteReader(CommandBehavior.CloseConnection).Close();
                    objDataTable.EndLoadData();
                    //OracleConnection conn=new OracleConnection ("")
                    // Database db = DatabaseFactory.CreateDatabase("DJG_PeiXun_ConnectionString");
                    //OracleCommand cmd = db.GetStoredProcCommand("Proc_PXUnit_Pay");
                    //db.AddInParameter(cmd,"cursor",OracleType.Cursor);
                    //ds = db.ExecuteDataSet(cmd);
                }
                catch (Exception ex)
                {
                    returns = ex.ToString();
                }
                return objDataTable;
            }
    View Code
  • 相关阅读:
    自定义响应结果
    JsonUtils (JSON与对象之间的转换)
    IDUtils (ID生成策略)
    ExceptionUtil(异常使用工具类)
    Hbuilder连接夜神模拟器
    夜神模拟器开启开发者选项
    java.lang.OutOfMemoryError: Java heap space的解决方法
    Android开发LogCat一直不停输出的解决方法
    windows无法停用“Android Composite Interface”设备的解决方法
    android:digits属性
  • 原文地址:https://www.cnblogs.com/lyhsblog/p/6265349.html
Copyright © 2011-2022 走看看