|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Программа на Делфи, подключаемся к БД (dbf) Visual FoxPro через ODBC драйвер. Пытаюсь удалить данные из таблицы, затем ее упаковать. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 13:01 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200Программа на Делфи, подключаемся к БД (dbf) Visual FoxPro через ODBC драйвер. Пытаюсь удалить данные из таблицы, затем ее упаковать. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Прежде чем делать Pack надо открыть файл эксклюзивно USE EXCLUSIVE Если файл DBF в это время уже кем то открыт и используется, то открыть эксклюзивно другим юзверем не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 13:21 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 13:54 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Проверил сам себя. Оказывается, давно есть. Только Pack без параметров сжимает текущую эксклюзивно открытую таблицу, а Pack с название таблицы упаковывает указанную таблицу, если сам может ее эксклюзивно захватить. Предварительное открытие вызовет ошибку. Но как это сделать из Дельфи, это надо и спрашивать в форуме по Дельфи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:03 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Fffffffffffffffff, Иди в Жопу )))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:06 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Fffffffffffffffff, Да вот Д тут как раз и не причем..Это все происки ODBC Visual FoxPro driver ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:11 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Eugenkru10, жди очередного бана. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:14 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200 Да вот Д тут как раз и не причем..Это все происки ODBC Visual FoxPro driver ODBC driver соответствует 6-й версии FoxPro. Если там был такой синтаксис, то должно работать. А я не знал, что он и в 9-й есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:20 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Fffffffffffff, да оно то работает.. но после DELETE нельзя выполнить PACK (ZAP ODBC for VFP не поддерживает), так как таблицы ЗАНЯТЫ ("File in use") ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:24 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
в принципе, конечно, можно поменять местами Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
но все равно - интересно сделать "одним наскоком" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:32 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
FffffffffffffffEugenkru10, жди очередного бана. Да ты лох ваще! )))))) Гость гавно не бывал давно! )))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:37 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Ну так я же объяснил Код: plaintext
Для упаковки открытой и эксклюзивно используется Pack без параметров. Вообще, то, что тебе приходится очищать таблицу, говорит о неправильном подходе к решению задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:37 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200Fffffffffffff, да оно то работает.. но после DELETE нельзя выполнить PACK (ZAP ODBC for VFP не поддерживает), так как таблицы ЗАНЯТЫ ("File in use") Оно и не будет работать, потому что Fffffffffffff лох! )))))))) хер ты его советы слушаешь? ))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:39 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Eugenkru10, ты школьник что-ли? Это профессиональный форум. Здесь принято вести себя посолидней. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:42 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
FffffffffffffffEugenkru10, ты школьник что-ли? Это профессиональный форум. Здесь принято вести себя посолидней. гы, здесь - скл.ру, поэтому на троллей, ботов и других придурков не стоит обижаться, нужно просто не читать, что они пишут. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:45 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200, cmdPack.CommandText := 'pack' попробуй указать через символ возврата каретки две команды cmdPack.CommandText := 'USE olorderh EXCLUSIVE'+chr(13)+'PACK' Наверно и делфи можно сразу несколько команд сперва подготовить а потом передать драйверу. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:47 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
FffffffffffffffEugenkru10, ты школьник что-ли? Это профессиональный форум. Здесь принято вести себя посолидней. Ты халоп хоть знаешь с кем ты разговариваешь? )))))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:49 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
прошелмимо поэтому на троллей, ботов и других придурков не стоит обижаться, нужно просто не читать, что они пишут. Да я не обижаюсь. Моих знаний от его троллинга не убудет - не прибудет. Но его же читают те, кто на форум за советом приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 14:59 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Ffffffffffffffffffffffпрошелмимо поэтому на троллей, ботов и других придурков не стоит обижаться, нужно просто не читать, что они пишут. Да я не обижаюсь. Моих знаний от его троллинга не убудет - не прибудет. Но его же читают те, кто на форум за советом приходит. Откуда у тебя там знания? У тебя в голове пусто! ))))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 15:03 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
FfffffffffffffНу так я же объяснил Код: plaintext
Для упаковки открытой и эксклюзивно используется Pack без параметров. Вообще, то, что тебе приходится очищать таблицу, говорит о неправильном подходе к решению задачи. Запиши себе на лбу - Pack упаковывает только Открытую таблицу! Знаток пчелиный ))))))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 15:07 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Ffffffffffffffffffffffпрошелмимо поэтому на троллей, ботов и других придурков не стоит обижаться, нужно просто не читать, что они пишут. Да я не обижаюсь. Моих знаний от его троллинга не убудет - не прибудет. Но его же читают те, кто на форум за советом приходит. не кормите тролля - он сам заткнется. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 15:19 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
малость подшуршал, нашел направление.. но все равно, вторую таблицу на пакует, только первую. Код: plaintext 1. 2.
указание pack olorderd - к File in use ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 16:03 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200малость подшуршал, нашел направление.. но все равно, вторую таблицу на пакует, только первую. Код: plaintext 1. 2.
указание pack olorderd - к File in use Ну вот видешь, значит мой метод сработал. Так можно целый кусок программы передать драйверу на съедение. А какую ещё вторую таблицу??? мы видим только одну у тебя. После Pack надо закрыть базу - допиши #13#10'USE' - без параметров В противном случае таблицу нельзя использовать другим юзверям в сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 17:46 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Eugenkru10, как это ОДНУ? delete from olorderH и delete from olorderD ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 17:51 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200, а понял - olorderh и olorderd просто выполни последовательность команд SELECT 0 USE olorderh EXCLUSIVE PACK USE аналогично для olorderd SELECT 0 USE olorderd EXCLUSIVE PACK USE проблем не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 17:51 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Eugenkru10, USE для ODBC VFP драйвера не канает почему-то.. как и SELECT 0.. исключение "Ошибка синтаксиса или отказано в доступе" (оригинальное "Syntax error or access violation") ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 18:01 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
Есть такая фича. Некоторые настройки среды FoxPro можно добавлять напрямую в строку соединения. В данном случае, настройку EXCLUSIVE Код: plaintext
При такой настройке любые таблицы будут открыт в режиме Exclusive. Точнее, попытаются открытся в этом режиме, разумеется, если никто больше в этот момент с ними не работает. Хотя, возможно, Вам и не надо очищать таблицы. Достаточно всего-лишь скрыть записи помеченные как удаленные. Т.е. сделать настройку Код: plaintext
что соответствует фрагменту "Deleted=Yes" в строке подключения. При такой настройке любые команды SQL (Select-SQL, Update-SQL и т.п.) "не увидят" записей помеченных как удаленные. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 18:03 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
ВладимирМ, да суть в том, что я то их(удаленные записи) и не вижу.. но в процессе работы будет накапливаться большое количество мусора, что может в последствии привести к "завалу" таблиц.. ну да ладно, что-нибудь придумаем ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 18:06 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200ВладимирМ, да суть в том, что я то их(удаленные записи) и не вижу.. но в процессе работы будет накапливаться большое количество мусора, что может в последствии привести к "завалу" таблиц.. ну да ладно, что-нибудь придумаем Тут вопрос административный, а не программный. Ведь, по сути, Вы из внешней программы модифицируете данные другой программы. Эта самая другая программа, по самой своей природе (работа с DBF-таблицами) должна предусматривать некоторый механизм периодической очистки записей, помеченных как удаленные. Т.е. в самой этой программе периодически должна даваться команда PACK на все таблицы. Поэтому, попытка со стороны внешней программы (из Delphi) паковать таблицы выглядит, ну, как минимум, не корректно. Не ее это дело. Уборка мусора - это проблема программы на FoxPro. Более того, открытие таблиц в режиме Exclusive может приводить к нарушению работы основной программы. Т.е. и с этой стороны упаковка таблиц из внешней программы - не корректная операция. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 18:47 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
ВладимирМ, тут конечно вынужден не согласиться уборка мусора это дело той проги которая насвинятничала! )))))))) Простой пример AFP - Active Foxpro Pages В скрипте можно написать use exclusive и pack хотя эта штука вообще работает в веб. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2010, 19:03 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
ВладимирМ, Программа написана на "сях", в качестве хранилища - MS SQL 2000. Идет обмен десктопной учетной системы с КПК. Есть 2 источника данных(ODBC VFP): для импорта на КПК и с КПК... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2010, 09:10 |
|
Delphi+ODBC Visual FoxPro Driver (XP SP3)
|
|||
---|---|---|---|
#18+
vup70200...да суть в том, что я то их(удаленные записи) и не вижу.. но в процессе работы будет накапливаться большое количество мусора, что может в последствии привести к "завалу" таблиц.. ну да ладно, что-нибудь придумаем Многие физически не удаляют записи - они их используют вторично. При добавлении записи ищут - если есть удаленная запись и если есть восстанавливают ее и вносят туда новые данные. Воторой подход - иметь дополнительное поле в таблице, которое отвечает за "удаление". Далее подход как к удаленным записям, но при этом Вам надо будет внести много изменений в существующий код... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2010, 09:22 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1585184]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
122ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 348ms |
total: | 578ms |
0 / 0 |