Имя: Пароль:
1C
1C 7.7
v7: 1c++ OLEDB не понимает select top ?
0 DES
 
09.09.18
14:40
База=СоздатьОбъект("OLEDBData");
Соединение="Provider=VFPOLEDB.1;Data Source=" + ВыделитьИмяФайла(СокрЛп(рПуть1),"Путь") + ";Mode=Read;";
Рез=База.Соединение(Соединение);
Запрос=База.СоздатьКоманду();
Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
    
SELECT *  FROM MY.DBF - выполняется

SELECT top 1 *  FROM MY.DBF - не выполняется


кстати, как получить Запрос.ошибка()?
1 spectre1978
 
09.09.18
14:52
(0) select top нестандартная конструкция, ее понимают только определенные БД (точно знаю насчет MS SQL Server, MS Access). Другие либо не понимают, либо оно там пишется другими словами (например в MySQL есть слово LIMIT).
2 Sserj
 
09.09.18
16:27
В FoxPro можно было можно было пользоваться :

select * from MY.DBF where recno() < 2
3 DES
 
09.09.18
17:35
СПС.
Взлетело.
4 DES
 
09.09.18
17:38
Случайно не знаете как получить имена полей DBF  селестом (там же) ?Ну или еще как то .
А то я читаю 1 запись в ТЗ, потом анализирую заголовки ТЗ
5 spectre1978
 
09.09.18
21:17
(4) так ВыполнитьИнструкцию вроде ТЗ возвращает. Имена колонок, надо полагать, и есть имена полей. Или какая задача?
6 spectre1978
 
09.09.18
21:20
А, это не устраивает? Думаю, по-другому никак.