diff --git a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc index a916816bf5..75475204de 100644 --- a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc +++ b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc @@ -586,15 +586,7 @@ begin inc(Row,c.MapDSRowToMSQLRow[FieldDef.FieldNo-1]); field := mysql_fetch_field_direct(C.FRES, c.MapDSRowToMSQLRow[FieldDef.FieldNo-1]); - // String-fields which can contain more then dsMaxStringSize characters - // are mapped to ftBlob fields, while their mysql-datatype is FIELD_TYPE_BLOB - if FieldDef.DataType in [ftBlob,ftMemo] then - begin - Result := Row^<>Nil; - CreateBlob:=True; - end - else - Result := MySQLWriteData(field^.ftype, field^.length, FieldDef.DataType, Row^, Buffer, CreateBlob); + Result := MySQLWriteData(field^.ftype, field^.length, FieldDef.DataType, Row^, Buffer, CreateBlob); end; procedure TConnectionName.LoadBlobIntoBuffer(FieldDef: TFieldDef; @@ -834,7 +826,12 @@ begin inc(p); end; Writeln; -} if Src<> '' then +} + // String-fields which can contain more then dsMaxStringSize characters + // are mapped to ftBlob fields, while their mysql-datatype is FIELD_TYPE_BLOB + if AFieldType in [ftBlob,ftMemo] then + CreateBlob := True + else if Src<> '' then Move(Source^, Dest^, ASize) else Dest^ := #0;