Prevent infinite loop when processing string values
Prevent infinite loop when processing string values

A corner case occurred which was probably caused by a ODBC driver behaving
incorrectly. The first call to SQLGetData would return len == 0 which
indicates an empty string. The next time through the loop we would expect
SQLGetData to return ret == SQL_NO_DATA. This is not happening in some
cases, so an infinite loop occurs.

To fix this we check if len == 0 before looping again, if so we break out
of the loop. This is a slight optimization because if we know len == 0 then
there is no point in calling SQLGetData again to see if there are more data.

jbaxter0810/node-odbc,dfbaskin/node-odbc,wankdanker/node-odbc,bustta/node-odbc,bustta/node-odbc,wankdanker/node-odbc,gmahomarf/node-odbc,bzuillsmith/node-odbc,gmahomarf/node-odbc,Papercloud/node-odbc,bzuillsmith/node-odbc,Papercloud/node-odbc,bzuillsmith/node-odbc,jbaxter0810/node-odbc,wankdanker/node-odbc,bustta/node-odbc,Papercloud/node-odbc,wankdanker/node-odbc,dfbaskin/node-odbc,dfbaskin/node-odbc,jbaxter0810/node-odbc,gmahomarf/node-odbc,dfbaskin/node-odbc,gmahomarf/node-odbc,bustta/node-odbc,bzuillsmith/node-odbc,jbaxter0810/node-odbc,Papercloud/node-odbc