Consultor Eletrônico



Kbase P158452: How to pass a ProDataset handle as an OUTPUT parameter in .NET using OpenAPI
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/13/2010
Status: Unverified

GOAL:

How to pass a ProDataset handle as an OUTPUT parameter in .NET using OpenAPI

GOAL:

How to run a persistent procedure in .NET using OpenAPI

FACT(s) (Environment):

Windows
OpenEdge 10.1x
OpenEdge 10.2x

FIX:

The following sample code shows how to run a persistent procedure and pass a ProDataSet handle as an OUTPUT parameter to the AppServer from .NET client using the OpenAPI.


using Progress.Open4GL.DynamicAPI;
using Progress.Open4GL.Proxy;
using Progress.Open4GL;

/* ..... */

Connection con = new Connection("AppServer:\\localhost:5162\asbroker1", "", "");
OpenAppObject ao = new OpenAppObject(con, "");
OpenProcObject pro = ao.CreatePO("test.p");
// Create DataSet
DataSet proDataSet = new DataSet();
// Create the ProDataSetMetaData
ProDataSetMetaData dsMetaData = new ProDataSetMetaData("dsDemo","");

// Create the ParamArray
ParamArray paramProc = new ParamArray(1);
paramProc.AddDatasetHandle(0,null, ParamArrayMode.OUTPUT, dsMetaData);

pro.RunProc("MyInternalProcedure",paramProc);
proDataSet = (DataSet)paramProc.GetOutputParameter(0);
dataGridView1.DataSource = proDataSet.Tables[0];