diff --git a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc index 224524c053..4665d55785 100644 --- a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc +++ b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc @@ -717,6 +717,7 @@ function TConnectionName.MySQLWriteData(AType: enum_field_types;ASize: Integer; var VI: Integer; + VL: LargeInt; VS: Smallint; VF: Double; VC: Currency; @@ -749,10 +750,10 @@ begin FIELD_TYPE_LONGLONG: begin if (Src<>'') then - VI := StrToInt64(Src) + VL := StrToInt64(Src) else - VI := 0; - Move(VI, Dest^, SizeOf(LargeInt)); + VL := 0; + Move(VL, Dest^, SizeOf(LargeInt)); end; {$ifdef mysql50} FIELD_TYPE_NEWDECIMAL, diff --git a/packages/fcl-db/tests/sqldbtoolsunit.pas b/packages/fcl-db/tests/sqldbtoolsunit.pas index f64959dbb8..e2771d1048 100644 --- a/packages/fcl-db/tests/sqldbtoolsunit.pas +++ b/packages/fcl-db/tests/sqldbtoolsunit.pas @@ -103,6 +103,8 @@ begin if SQLDbType = MYSQL40 then Fconnection := tMySQL40Connection.Create(nil); if SQLDbType = MYSQL41 then Fconnection := tMySQL41Connection.Create(nil); if SQLDbType = MYSQL50 then Fconnection := tMySQL50Connection.Create(nil); + if SQLDbType in MySQLdbTypes then + FieldtypeDefinitions[ftLargeint] := 'BIGINT'; if SQLDbType = sqlite3 then begin Fconnection := TSQLite3Connection.Create(nil);