Использую ODBC, подключаюсь через Microsoft dBASE Driver (*.dbf), т.е. указываю каталог, где лежит файл DBF (формат dBase III). Подключение по всем этапам идет на ура (обработка ошибок это гарантирует). Дальше выбрать SELECT * FROM NEWIII и вот на команде SQLExecDirect вылетает обибка: ERROR_FILE_NOT_FOUND (00000002). Файл NEWIII.DBF у меня гарантированно существует!!! Может мне надо как-то переформулировать синтаксис SQL-запроса? Код (Text): invoke SQLAllocHandle,SQL_HANDLE_STMT,hConn,addr hStmt .if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO invoke lstrlen,lpszSQL inc eax invoke SQLExecDirect,hStmt,lpszSQL,eax ;<--- здесь возникает ошибка .if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
Тему можно считать закрытой, ответ найден. Особенность: имя таблицы должно включать имя dbf-файла, включая расширение dbf. Мне достаточно было не убирать расширение из имени таблицы и все встало на свои места. SELECT * FROM NEWIII.DBF, а LastError осталась как была. Функция SQLAllocHandle c результатом SQL_SUCCESS_WITH_INFO.