Update Bug in MultiByte Char

phoenix610

Member²
Hello.
I can speak English a little.

In MultiByte Char Environment,
I can't update a table that includes char fields via TDataSetProvider.
I encounter an Exception "A Record has Changed by another user".

If Property ProviderFlags that associated with char field includes pfInWhere,
I can't update a table.
But If Property ProviderFlags that associated with varchar2 field includes pfInWhere,
I can update a table.

I'm sorry then My English is poor.
 
I'm sorry.

Environment

Windows 2000 Professional(Japanese)
Delphi 7 Professional(Japanese)
Direct Oracle Access 4.0.6.2
 
Okay, this means that the error is raised by the TClientDataSet / TDataSetProvider. What happens if you set TOracleSession.Preferences.TrimStringFields to False?
 
Hi.

Yes,it means that the erroris raise by the TClientDataSet/TDataSetProvider.

In the Oracle Monitor, TDataSetProvider seems to generate correct SQL Statement.

TOracleSession.Preferences.TrimStringFields is false.
 
Hi,

Is this specification associated with Oracle's string comparing rule or bug?

I try to update a record with TrimStringFields = True,
I can update the same record only once.
I can't update the same record more than twice.

Thanks.
 
The TClientDataSet compares all fields, and trailing spaces are significant. Therefore you need to set TrimStringFields to False.
 
Hi,

I'm very sorry.I made a mistake.

Of course,TrimStringFields property is false.
I try to update a record with TrimStringFields = False,
I can update the same record only once.
I can't update the same record more than twice.
 
Back
Top