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];