TCustomMSDataSet provides wrong field value to parameter
Posted: Tue 10 Mar 2020 16:38
Hi,
we recently updated from SDAC 8.0.4 to 9.1.2 and now found a situation where the provided value from a field in a TCustomMSDataSet to a parameter of an insert statement changed.
The TCustomMSDataSet in question is a TMSStoredProc with a select statement that is similar to this abstracted example:
We assigned statement for insert using a stored procedure call, so no generated SQL, with a parameter "V". It used to get the value assigned from the name matching "V" field in the dataset, but since the update it gets the value of "V_Compare_". I've investigated and realized that this is caused by a change to TDADataSetUpdate.FieldByParamName, added inner function FindFieldByParamName, which will now find another field based on meta data.
Is this working as intended? Is there any way around this additional matching behavior to basically get back the behavior prior to the upgrade?
we recently updated from SDAC 8.0.4 to 9.1.2 and now found a situation where the provided value from a field in a TCustomMSDataSet to a parameter of an insert statement changed.
The TCustomMSDataSet in question is a TMSStoredProc with a select statement that is similar to this abstracted example:
Code: Select all
SELECT
t3.Value AS [V]
,t.Value AS [V_Compare_]
FROM dbo.Table t
OUTER APPLY
(
SELECT
t.V AS V
UNION ALL
SELECT
t2.V
FROM dbo.Table_2 t2
) t3
Is this working as intended? Is there any way around this additional matching behavior to basically get back the behavior prior to the upgrade?