http://gambaswiki.org/bugtracker/edit?object=BUG.1113&from=L21haW4-
Comment #9 by zxMarce: Piccoro, As I already told you more than once, ODBC will return the row count thanks to the patch I already made given a couple of conditions that depend on the low-level driver being correctly configured. The conditions are: A- The driver supports ODBC's SQLFetchScroll() call (this is not a driver config, but a driver feature), and B- The driver is configured in such a way that it supports the SQL_ATTR_CURSOR_SCROLLABLE flag. My patch uses condition B to use three times the call in point A in this way: 1- Remember the current row for later getting back to it. 2- Seek up to the first row in the rowset (using SQLFetchScroll) 3- Get the first row's index (firstRecNo) 4- Seek down to the last row in the rowset (using SQLFetchScroll) 5- Get the last row's index (lastRecNo) 6- Seek back to wherever we were at in step 1 (using SQLFetchScroll) 7- Return (lastRecNo - firstRecNo + 1), AKA "Record Count". For some combinations of driver protocol and MSSQL versions (speaking FreeTDS against MSSQL here), I found out that condition B was not met, so I could not get a record count. But for some other -documented- protocol and server combinations the call succeeded. The same happens with Firebird, for example. I never tested it with SQLite3 yet. But I explained this point to you several times now. Will not do it again, and this contaminates this particular bug report. zxMare. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user