anchor.diff:    DeclaredColType: PChar;
     ActualColType: integer;
     ptrValue: PChar;
  +  sColType: string;
  +  iColType: Integer;
   begin
     inherited create;
     try
  
positive.code:                   thisColType^ := Sqlite3_ColumnType(stmt, i) //use the actual column type instead
                  //seems to be needed for last_insert_rowid
                  else
                    if (DeclaredColType = 'INTEGER') or (DeclaredColType = 'BOOLEAN') then
                      thisColType^ := dtInt
                    else
                      if (DeclaredColType = 'NUMERIC') or
  
negative.code:               fCols := TStringList.Create;
                fColTypes := TList.Create;
                fColCount := SQLite3_ColumnCount(stmt);
  
                for i := 0 to Pred(fColCount) do
                begin
                  fCols.Add(AnsiUpperCase(Sqlite3_ColumnName16(stmt, i)));
                end;
  
                for i := 0 to Pred(fColCount) do
                begin
                  new(thisColType);
  