anchor.diff:                fCols := TStringList.Create;
                 fColTypes := TList.Create;
                 fColCount := SQLite3_ColumnCount(stmt);
  -              for i := 0 to Pred(fColCount) do begin
  -                fCols.Add(UpperCase(Sqlite3_ColumnName16(stmt, i)));
  +
  +              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);
  
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:   DeclaredColType: PChar;
    ActualColType: integer;
    ptrValue: PChar;
    sColType: string;
    iColType: Integer;
  begin
    inherited create;
    try
  