>nn = SQLStringConnect("Driver=SQL Server;Server=192.168.0.91;Database=instock;UID=john;"+; > "PWD=1234;") > CLOSE ALL >CREATE CURSOR hits(numero i) >&& Change the FetchAsNeeded option default value >CursorSetProp("FetchAsNeeded",.T.,0) > >&& Updated based on the thread FetchAsNeeded SPT blocking remote views? Thread #1145681 Message #1145743 >CURSORSETPROP("AllowSimultaneousFetch",.T.,0) >CursorSetProp("FetchSize",10000,0) > >&& FetchAsNeeded option requires asynchronous connection for SPT cursors >SQLSetProp(nn,"Asynchronous",.T.) > >xx=1 >do while NOT USED("MyResult") && SQLEXEC() will return 0 till all records > && fetched and returned to client. So, > && when you want to fetch, just wait till alias created with > && first FetchSize number of records (300 in this sample) >=SQLExec(nn,"SELECT * FROM products","MyResult") >INSERT INTO hits values(xx) &&here i need to put something like 23%,24%, etc. >xx=xx+1 >enddo > >* return the default option value to .F. >CursorSetProp("FetchAsNeeded",.F.,0) >SQLDISCONNECT(nn) >SELECT hits >brow >>hits cursor sometimes stores 61 recs, others 50, others 100, etc...
=SQLExec(nn,"SELECT COUNT(*) AS Cnt FROM products","MyResult1") ** Error handling here SQLSetProp(nn,"Asynchronous",.T.) xx=1 do while NOT USED("MyResult") && SQLEXEC() will return 0 till all records && fetched and returned to client. So, && when you want to fetch, just wait till alias created with && first FetchSize number of records (300 in this sample) =SQLExec(nn,"SELECT * FROM products","MyResult") INSERT INTO hits values(xx) &&here i need to put something like 23%,24%, etc. WAIT WINDOW NOWAIT TRANSFORM(RECCOUNT([Hints])/MyResult1.Cnt * 100)+[ %] enddoNOT TESTED AT ALL!!!