Fix blank result in ODBC::GetSQLError

It seems with MSSQL at least, SQLGetDiagField needs to be called with
record number 0 when retrieving header fields such as the error count
(even though the documentation states that the record number is
ignored). This stops SQLGetDiagField returning SQL _ERROR and thus
numfields being uninitialized.