Board index » delphi » Large integer field type won't work with really larger integers

Large integer field type won't work with really larger integers

I am using MySql with Delphi 7 and have a LargeInt field.  I can read this
field from a ClientDataSet using the usual path.  When I try to set this
field using an integer larger than 50 bits the Delphi assignment operator
will convert it to a double.  If the field is defined as a double in MySql I
can update it with no problem even though I assigned an Int64.  I have tried
every combination of Variant type I can think of to no avail.  I have even
created the CDS field with CreateDataset as a large integer - same results.

Does anyone have a solution to this, it must be a fairly common problem.  I
am tied to the LargeInt field by 600,000 existing records on a hundred
servers.

BTW CoreLabs MyDAC solves the problem by the option of converting all field
to strings.  I would rather use dbExpress but may have to go this route.

Thanks,
Tom

 

Re:Large integer field type won't work with really larger integers


Unfortunately, TClientDataSet does not support 64 bit integers.

--
Bill (TeamB)
(TeamB cannot respond to questions received via email)

Re:Large integer field type won't work with really larger integers


"Bill Todd" <b...@notthis.dbginc.com> wrote> Unfortunately, TClientDataSet does not support 64 bit integers.> > > --> Bill (TeamB)>
(TeamB cannot respond to questions received via email)
Here is debate between Me and John K on this, from Dec 2001 --

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&frame=rig....

Summary -- from John K -- "DbExpress standard is to map Int64 to BCD".

Other Threads