![]() |
|
|
![]()
|
|
| AntiVirus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2006 Где: Евпатория Репутация: нет Всего: нет |
Кто подскажет, как программно убрать удалённые строки из таблицы FoxPro?
|
|||
|
||||
| MFoxer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 18.1.2006 Репутация: -1 Всего: нет |
Pack
|
|||
|
||||
| AntiVirus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2006 Где: Евпатория Репутация: нет Всего: нет |
А если по конкретнее... |
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
Кудауж конкретнее , Pack физически удаляет записи помеченые как удаленные.
|
|||
|
||||
| AntiVirus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2006 Где: Евпатория Репутация: нет Всего: нет |
Я это всё прекрасно понимаю. А как быдет выглядеть SQL запрос на выполнение этой команды, или это отдельная утилита VFP, которая пакует БД? |
|||
|
||||
| sexton |
|
|||
![]() sexton=Пономарь (eng) ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 5.5.2004 Где: Ульяновск Репутация: нет Всего: 9 |
Это встроенный фоксовый метод! причем там SQL?
|
|||
|
||||
| AntiVirus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2006 Где: Евпатория Репутация: нет Всего: нет |
Я работаю с БД через ADOQuery, а там используются SQL запросы, по этому я про них и спросил. Но никто нифига так и не подсказал нормательно. Кто делал такую фигню подскажите плиз. |
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
||||
|
||||
| AntiVirus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2006 Где: Евпатория Репутация: нет Всего: нет |
||||
|
||||
| bas |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
|
||||
|
|||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 13 Всего: 60 |
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| MFoxer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 18.1.2006 Репутация: -1 Всего: нет |
Да, зачем вы так парня запугали. Правильный вопрос, допустим СА тож испрользует ADO и нет ничего удивительного, что человеку понадобилось заюзать ADO для доступа к данным VFР.
1) ADOQuery- ты хочешь поработь с БД ( DBC ) или табличками ( DBF ) фокса из C++ Builder, верно ? Вот так и нужно говорить. Выбор ADOQuery - прекрасно ( славо Богу, что не ADOStoredProc). Как я понимаю, соединение ты установил , тебе нужно почистить табличку, так ? Ну так и выполни команду "PACK" в качестве команды возвращающей скалярное выражение, но ! НАдеюсь ты использовал OLE DB Provider 8.0 или 9.0 ? Ответь на эти вопросы. Я тебе подскажу как правильно сделать. |
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
||||
|
||||
| AntiVirus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 16.3.2006 Где: Евпатория Репутация: нет Всего: нет |
Честно, я даже незнаю какая у меня версия провайдера стоит, но всё равно подскажи пожалуйста. Жду с нетерпением. И еще. Я работаю с Delphi, а не с C++, но это не столь важно. Если есть код на Билдере, давай его, разберусь, проблем с этим нет. С ADOQuery на Билдере тоже работал. |
|||
|
||||
| MFoxer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 18.1.2006 Репутация: -1 Всего: нет |
Отвечаю:
Реальный пример работы с таблицами ( а при Вашем желании и базами данных) Visual FoxPro: 1) Сам ради интереса поюзал ADOQUERY - косяк, никак не возможно выполнить такую фичу, он ( как я понял) по замыслу возвращает множества или скалярные величины. Нас это не устраивает. 2) Выход есть. Использовать ADOCommand. 3) Живой пример:
Немного пояснений, очевидных и неочень: 1) C:\\ADOTest - это мой каталог с табличками, у вас он может быть другим 2) В конструкции скриптов, типа этой: "EXECSCRIPT([SET DELETE OFF]+chr(13)+[USE GLINE EXCLUSIVE]+chr(13)+[PACK IN GLINE])"; Нужно запомнить, что: EXECSCRIPT - выполняет все что написано внутри; SET DELETE OFF - извещает OLE DB VFP движок, что нужно смотреть все и помеченные и непомеченные ( в данном случае не актуально ) USE GLINE EXCLUSIVE - открывает таблицу по пути "C:\\ADOTest",( у вас она ясное дело другая) в режиме монопольного доступа ( только в таком режиме работает следующая команда) PACK IN GLINE - вот то что убрало все помеченные на удаление записи 3) Все командны в [] или ' ' 4) Все команды должны быть разделены фоксовской командой переводом каретки chr(13) 5)VFP OLE DB Provider последней версии можно скачать на сайте мелкомягких абсолютно бесплатно : VFP OLE DB 9.0 SP1 Удачи. |
|||
|
||||
![]()
|
| Правила форума "Foxpro/Clipper/Dbase" | |
|
|
Запрещается! 1. Публиковать ссылки для чисто рекламных целей. 2. Оффтопить, флеймить, говорить не культурно. Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему. Задавайте вопросы правильно - как спросите, так вам и ответят. Разрешено! Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил. Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы. P.S. Размещение рекламы будет строго наказываться! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |