Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не изменяется индекс при изменении таблицы? / 12 сообщений из 12, страница 1 из 1
06.08.2003, 14:17
    #32228781
kitty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
Подскажите, пожалуйста, что нужно сделать, чтобы при добавлении/удалении записей таблицы foxpro автоматически изменялся индекс таблицы.

(я при помощи компонента ADOCommand (Delphi 7) вставляю/удаляю записи в фоксовскую таблицу, но индекс таблицы при этом не изменяется) . Название индекса отличается от названия таблицы.

Спасибо!
...
Рейтинг: 0 / 0
06.08.2003, 15:21
    #32228922
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
В таблицах Foxpro нет такого поля как автоинкримент, нужно писать код в ручную.
не знаю каким инструментом ты пользуешься для доступа к данным но простейший случай, это дать MAX(поле), в запросе и увеличить его на 1.
Правда такой способ не прокатит в многопользовательских системах, но импровизаций на самом деле много, главное - все делать ручками.
...
Рейтинг: 0 / 0
06.08.2003, 15:44
    #32228973
kitty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
Извините, я немного не точно выразилась.
под индексом таблицы я имела в виду индексный файл.
Таблица у меня postnp.dbf, а индексный файл postnp_1.cdx.
Вот.
Подскажите, пож.
...
Рейтинг: 0 / 0
06.08.2003, 17:05
    #32229179
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
Необходимо чтобы в момент внесения изменений в таблицу соотсветсвующий индекс был открыт:

USE postnp.dbf
SET INDEX TO postnp_1.cdx

или одной командой

USE postnp.dbf INDEX postnp_1.cdx

Теперь любые изменения в таблице автоматически приведут к изменению в индексе. Если "поезд уже ушел", т.е. индекс уже не соответствует содержимому таблицы, то необходима переиндексация. Но для такой операции таблица должна быть открыта в режиме Exclusive.

USE postnp.dbf INDEX postnp_1.cdx EXCLUSIVE
REINDEX
...
Рейтинг: 0 / 0
07.08.2003, 09:10
    #32229566
kitty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
спасибо, но это ведь код на фоксе, а я работаю в delphi и к фоксовской базе подключаюсь через компоненты ADO.
Вот.
...
Рейтинг: 0 / 0
07.08.2003, 09:13
    #32229572
kitty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
спасибо, но это ведь код на фоксе, а я работаю в delphi и к фоксовской базе подключаюсь через компоненты ADO.
Вот.
...
Рейтинг: 0 / 0
07.08.2003, 12:07
    #32229829
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
Почти уверен, что компоненты ADO не могут работать с неструктурными индексами.
Поскольку у Вас имя файла индекса не совпадает с именем таблицы, индекс не является структурным.
...
Рейтинг: 0 / 0
07.08.2003, 16:11
    #32230263
kitty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
что же делать?
...
Рейтинг: 0 / 0
07.08.2003, 16:39
    #32230310
Игкт
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
>Что делать?
Найти Фокс и создать структурный индекс
...
Рейтинг: 0 / 0
08.08.2003, 08:33
    #32230674
kitty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
У меня он структурный (cdx), но не одноименный с таблицей dbf.
Т.е. в фоксе при открытии таблицы прописывается, какой индексный файл открывается( если б он был одноименный, то указывать его не нужно, он открывался бы по умолчанию).
Так вот как же открыть этот неодноименный структурный индексный файл при вместе с таблицей в delphi?
...
Рейтинг: 0 / 0
08.08.2003, 09:20
    #32230708
oleg_km
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
cdx - это составной индекс
структурным он будет если:
- имя индексного файла совпадает с именем таблицы;
- в заголовке DBF таблицы установлен специальный байт, не помню его смещения
...
Рейтинг: 0 / 0
08.08.2003, 11:44
    #32230893
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не изменяется индекс при изменении таблицы?
>в заголовке DBF таблицы установлен специальный байт, не помню его смещения
28-й байт, если считать с 00. 1 - есть структурный индекс, 0 - нет
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не изменяется индекс при изменении таблицы? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]