type mismatch for field'???', expecting: BCD actual: FMTBcdF

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for MySQL in Delphi and C++Builder
Post Reply
flavio80s
Posts: 5
Joined: Mon 05 Sep 2011 12:09

type mismatch for field'???', expecting: BCD actual: FMTBcdF

Post by flavio80s » Mon 05 Sep 2011 12:15

Hello.
I have a problem with different versions of MySQL and DbxMda driver.
Working with mysql 4.1 the driver returns me a kind of field. When I access mysql 5.5, the driver returns me another type of field, resulting in the message "type mismatch for field'???', expecting: BCD actual: FMTBcdField."
This always happens with the type BCD, FMTBcdField and Float.
Is there anything I can do to always return the same type.
I bought the source code in the hope of repairing it, but I'm scared of not being able to fix.

flavio80s
Posts: 5
Joined: Mon 05 Sep 2011 12:09

Post by flavio80s » Mon 05 Sep 2011 14:50

I only use Double field type in my tables.
also happens with fields made ​​up of expressions.
I need the driver returns the same type of field with both MySQL versions.

flavio80s
Posts: 5
Joined: Mon 05 Sep 2011 12:09

Post by flavio80s » Tue 06 Sep 2011 13:25

anyone?

AndreyZ

Post by AndreyZ » Wed 07 Sep 2011 07:19

Our dbExpress driver for MySQL maps the DOUBLE type to TFloatField for all versions of MySQL server. You can look at the mapping table in the dbExpress driver for MySQL documentation (Readme.html). Different versions of MySQL server can return different types for some expressions. We cannot influence it.

flavio80s
Posts: 5
Joined: Mon 05 Sep 2011 12:09

Post by flavio80s » Thu 13 Oct 2011 20:21

I have a compiled application in Delphi 7 using dbxmda320 that accesses mysql 4.1 and works perfectly.
If I use the dll version dbxmda470 without recompiling the application now shows the message "type mismatch for field'???', expecting: BCD actual: FMTBcdField.." This is also with the recently released version dbxmda50.
In short, the version of the dll influences how the Delphi recognizes the type of the field.
I need an urgent response.

AndreyZ

Post by AndreyZ » Fri 14 Oct 2011 12:40

The point is that we changed dbExpress driver for MySQL behaviour. Now the DECIMAL type is mapped to TFMTBCDField. To solve the problem, you should recreate persistent fields.

Post Reply