This change has been incorporated into the documentation in Release 14 Service Pack 3 (R14SP3). For previous releases, read below for any additional information:
When all of the records associated with a cursor object have been retrieved, the cursor object's "Data" field is set to 'No Data'. Use this condition to terminate a processing loop after all records of a query have been processed, as illustrated in this example:
function data = dbtest()
conn = database('test','username','password')
cur = exec(conn, 'select * from Table1');
fetchSize = 3;
i = 1;
cur = fetch(cur,fetchSize);
while ~strcmp(cur.Data, 'No Data')
disp(['Fetch number ' num2str(i)])
i = i+1;
cur.Data{:}
cur = fetch(cur,fetchSize);
end
close(cur)
close(conn)
Best Answer