Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];

Вниз

Как в Fox-e физически удалить запись?   Найти похожие ветки 

 
Ash   (2002-04-09 14:54) [0]

Всем доброго денька!
Такое дело, не могу в Fox-е физически удалить запись. В приложении вроде удаляет, точнее пол-ль не видит, а в базе(при просмотре в том же Fox-е) запись все равно остается только помеченная на удаление. Подскажите че за "беда", пли-из.


 
Desdechado   (2002-04-09 15:02) [1]

это не беда, сам фокс тоже так работает.
можно сделать упаковку


 
Ash   (2002-04-09 15:10) [2]

Маленькое уточнение: я не так похоже выразился, приложение написано на Дельфи и работает с фоксовской базой. Про pack в фоксе я знаю. А как удалить физически в Делфе?


 
Anatoly Podgoretsky   (2002-04-09 15:15) [3]

Физически удалить нельзя, но можно сделать упаковку


 
Ash   (2002-04-09 15:24) [4]

2 Anatoly
А что за упаковка? И как ее сделать?


 
Anatoly Podgoretsky   (2002-04-09 15:25) [5]

функция dbiPackTable но я не рекомендовал ьы иее применять к ФоксПро


 
Ash   (2002-04-09 15:37) [6]

2 Anatoly
А почему?


 
sniknik   (2002-04-09 15:37) [7]

к старым версиям особенно к досовским можно, постоянно так делаю, макс.версия win 2.5 (там похоже таблицы от dBase не отличаются особо).


 
Ash   (2002-04-09 15:47) [8]

У меня сделана в 6 фоксе.


 
sniknik   (2002-04-09 15:58) [9]

ну так возьми и попробуй. там есть различия в структуре мемо поля, новые типы c индексами чтото (сам смутно понимаю, т.к. выше 2.5 в работе не поднимался а с ним все как обычно).
не получится можно компонент поискать под фох.
(под клипер нашол! чего совсем не ожидал думал уже прошлый век)


 
VAleksey   (2002-04-10 07:13) [10]

Ну е мое . Опять все снова да ладом. Ну все по новой. FOX.
PS
Смотри ветку с Еленой про фокспро.


 
Anatoly Podgoretsky   (2002-04-10 10:22) [11]

Ash (09.04.02 15:37)
Борланд не рекомендует в виду частичной поддержки Фокса, только до версии 2.5 да и в этом случае рекомендует использовать таблицы только ReadOnly

К 6 VFP ты по всей видимости идешь через ODBC драйвер, про него ничего сказать не могу, а вот если через драйвер FoxPro то сам себе роешь могилу.

sniknik © (09.04.02 15:58)
Правильно это предельный уровень


 
sniknik   (2002-04-10 11:07) [12]

дополнение к вопросу (а то мы от темы отвлеклись) существуют способы паковки таблиц VFP через ODBC, ADO, ADOX, DAO, общие или под конкретный драйвер?
Должны быть (у Jet для mdb есть, поискать и для dBase найдется раз его поддерживает) а вот для VFP?
(вопрос для меня чисто академический раз уж с VFP мне пока не светит работать :-))


 
Севостьянов Игорь   (2002-04-10 12:53) [13]

Первое -
А ты попробуй поискать решение проблемы сначала на VPF, а потом присобачить к Делфи (возможно у него есть внутренние функции и можна будет как-нить извратиться... Ну или через DLL родную пробовать...только надо сначала это найти)

Второе - в MSDN написано что есть типа команда PACK и вообще

Removing Records Marked for Deletion
After you’ve marked records for deletion, you can permanently remove them from disk through the interface or the language.

To remove records marked for deletion from disk

In a Browse window, choose Remove Deleted Records from the Table menu.
-or-

Use the PACK command.
The PACK command has two clauses: MEMO and DBF. When you issue PACK without the MEMO or DBF clauses, records in both the table file and the associated memo file are removed. Make sure you have exclusive access to the table. For example, the following code removes records marked for deletion:

USE customer EXCLUSIVE
PACK

To delete records in the table file only and leave the memo file untouched, use PACK DBF.

Conserving Space
Information in table memo fields is stored in an associated memo file with the same name as the table and an .fpt extension. If you want to remove unused space from the memo file without removing records that are marked for deletion, issue the PACK command with the MEMO clause. Make sure you have exclusive access to the table.

Removing All Records from a Table
If you want to remove all records from a table, and leave just the table structure, you can use the ZAP command. Issuing ZAP is equivalent to issuing DELETE ALL followed by PACK, but ZAP is much faster. Make sure you have exclusive access to the table.

Caution Records zapped from the current table cannot be recalled.



 
Севостьянов Игорь   (2002-04-10 12:59) [14]

Да забыл сказать - это описание для VFP 6 и пробуй через TADOCommand (CommandType - cmdText) или попробуй создать процедуру

USE customer EXCLUSIVE
PACK


и вызвать ее через TADOCommand (CommandType - cmdStoredProc) или TADOStoredProc

Желаю удачи


 
pasha676   (2002-04-10 14:03) [15]

Где-то тут на форуме уже писал, но повторюсь. Вообщем пишеш DLL на Фоксе, которая пакует заданную таблицу. Потом Dll цепляешь в Delphi и используешь. Все работает. Только версию Фокса не помню.


 
sniknik   (2002-04-10 14:32) [16]

PACK, ZAP функции самого фохпро, не SQL

USE customer EXCLUSIVE
PACK
такую связку через TADOCommand выполнить не удастся. А писать Dll на фоксе? нет уж, лутше тогда сделать упаковку переписыванием в пустую таблицу.

должны быть методы у драйверов, ожидал чегото вроде
(пример из MSJRO, упаковка mdb)

Public Sub CompactAndEncrypt()

Dim je As New JRO.JetEngine

" Make sure that a file doesn"t exist with the name of
" the compacted database.
If Dir("C:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind2.mdb") <> "" Then Kill _
"C:\Program Files\Microsoft Office\Office\Samples\Northwind2.mdb"

" Compacts and encrypts version Northwind database.
je.CompactDatabase _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind2.mdb;" & _
"Jet OLEDB:Encrypt Database=True"

End Sub



 
lunev   (2002-04-10 16:04) [17]

Halcyon - работает нормально и с VFP, и с FPD таблицами. Pack делает.


 
Anatoly Podgoretsky   (2002-04-10 16:29) [18]

lunev (10.04.02 16:04)
Пак может и делает, а вот нормально, сильно сказано


 
IronHawk   (2002-04-10 17:06) [19]

Гляди :
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1017406091&n=1

и

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1017732887&n=1



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.004 c
7-2692
ogu
2002-01-26 15:51
2002.05.02
Очистка корзины в Windows XP


1-2591
Reticent
2002-04-19 17:39
2002.05.02
строка в Registry


1-2566
Po
2002-04-19 12:29
2002.05.02
Печать


3-2466
Igor_
2002-04-11 09:59
2002.05.02
Отладка хранимой процедуры в InterBase


4-2718
fddiynic
2002-02-28 15:24
2002.05.02
спец папки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский