I have some experience of this.
I have two possible routes one is to rethink your use of F90Sql which I am no fan of.
depending on your architecture you can use .net classes to access databases with very little coding of course these aren't fortran and you have to consider the .NET / WIN32 performance playoff.
if you want to have most of your code native this route would involve coding a linker library in C++ to pass the results through which might be to involved for you. but this is all free.
The .net framwork is great for accessing databases. In some respects this is its main strength!
if you don't want that route and want to continiue with F90Sql lite I would suggest that rather than trying to shift position of your pointer, that you alter the sql statement that you are sending using a parameter that limits the results you are reading, this will probably be quicker to code and run quicker.
to clarify
submit queries along the line of
charcater *500 sql
sql = ''
do i 0,n
sql = 'select *
from table1
where index > (i*127) and index < (i+1)*127 '
call reader (sql)
end do
where reader is your reading procedure
read the results in batches
obviously you have to have have a suitable index to adopt this approach
but chances are you probably have one since your using fortran which is quite number orientated!
I hope this at least gives you some ideas
Carl