Consultor Eletrônico



Kbase P103540: Why does the HasError property of the .Net DataSet returns always False when the proDataSet:ERROR ha
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   29/07/2005
Status: Unverified

GOAL:

Why does the HasError property of the .Net DataSet returns always False when the ProDataSet:ERROR has been set to True on the Progress side

GOAL:

Why does the HasError property of the .Net DataSet returns always False when the ProDataSet:TABLE:ERROR has been set to True on the Progress side

GOAL:

Why is it not possible to see ProDataDet:TABLE:ERROR-STRING from a .Net Open Client

FACT(s) (Environment):

OpenEdge 10.x

FIX:

This is expected behavior. This is a limitation in the Progress to .NET mappings.
In .NET, there is no DataTable.RowError string property, so there is no mapping for the Progress ProDataSet:TABLE:ERROR-STRING.
In .NET, the DataRow object has as error properties:
HasErrors (boolean)
RowError (the error string description)
the DataTable object has :
HasErrors (boolean) which is setto true if one of its DataRows HasErrors = true
the DataSet object has :
HasErrors (boolean) which is set to true if at least one of its DataTables has a DataRow with HasErrors = true
In .Net, the DataTable.HasErrors and DataSet.HasErrors will only be true if one of the rows has an error.
For each object (DataSet, DataTable, and DataRow), the HasErrors property is read-only. To make the HasErrors properties be true, a DataRow's RowError property needs to be set.