Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Table.Exclusive = Error "Table busy", не могу установить в Exclusive, ругается 
:(
    Опции темы
Slawanix
  Дата 27.10.2009, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 29.7.2004
Где: г. Великие Луки

Репутация: нет
Всего: 1



Приветствую Вас, о Гуру smile Давно работаю с БД, но как-то не приходилось ни разу делать следующее:
хочу в run-time в таблице через Table (BDE) создать индекс для последующей  сортировки. Делаю так:
Код

 Table1.Close;
 Table1.TableName:='igdiven.dbf';
 Table1.Exclusive:=True;
 Table1.Open;
 //Добавляю индекс по полю 'DATE_OGR_P'
 Table1.AddIndex('indDateOgrP','DATE_OGR_P',[ixCaseInsensitive]);
 //переводим набор данных из монопольного режима в нормальный
 Table1.Close;
 Table1.Exclusive:=False;
 Table1.Open;
 //Сортируем набор данных по полю 'DATE_OGR_P' по возрастанию
 Table1.IndexName:='indDateOgrP';

Так вот когда в третьей строчке я делаю Table1.Exclusive:=True; выскакивает сообщение Table is busy.
То же самое, если я выставляю через инспектор объектов св-во Exclusive в True, Table в Active и пытаюсь запустить программу на выполнение.

Как с этим бороться?
--------------------
моск кипит    
PM MAIL WWW   Вверх
Deniz
Дата 27.10.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Эх, давно это было ...
Если хоть кто-то подключен к таблице Exclusive не поставишь, проверь нет ли других подключений, в том числе из Delphi.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Slawanix
Дата 27.10.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 29.7.2004
Где: г. Великие Луки

Репутация: нет
Всего: 1



Цитата(Deniz @  27.10.2009,  16:04 Найти цитируемый пост)
проверь нет ли других подключений

проверил - подключения действительно были  smile в монопольный режим ставится теперь нормально, но...
теперь другая проблема:

user posted image

Требует файл MDX, которго у меня нету. Что можно сделать? Чую, проще создать индекс руками. Просто очь хочется динамически создавать таблицы и индексы в них.
--------------------
моск кипит    
PM MAIL WWW   Вверх
Slawanix
Дата 27.10.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 29.7.2004
Где: г. Великие Луки

Репутация: нет
Всего: 1



Создал индексы руками, сортировка работает smile . Но вопрос остается открытым. Несмотря на то, что это можно сделать и при помощи Query, все-таки хочется выяснить до конца - можно ли и как в run-time создавать индексы при помощи Table (BDE)? Принципиально smile 
--------------------
моск кипит    
PM MAIL WWW   Вверх
Deniz
Дата 28.10.2009, 06:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(Slawanix @  27.10.2009,  18:49 Найти цитируемый пост)
можно ли и как в run-time создавать индексы при помощи Table (BDE)?
можно, но ...
из справки
Код
dBASE tables do not support case-insensitive indexes at all.


Добавлено через 53 секунды
Посмотри help по TTable.AddIndex


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 28.10.2009, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Deniz @  28.10.2009,  06:21 Найти цитируемый пост)
dBASE tables do not support case-insensitive indexes at all.

а вдруг у него Paradox 7?
PM MAIL   Вверх
Deniz
Дата 28.10.2009, 12:04 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(Akella @  28.10.2009,  13:31 Найти цитируемый пост)
а вдруг у него Paradox 7?
а эта строчка в коде первого поста
Цитата(Slawanix @  27.10.2009,  17:35 Найти цитируемый пост)
Код
Table1.TableName:='igdiven.dbf';


Это сообщение отредактировал(а) Deniz - 28.10.2009, 12:05


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 28.10.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Вот код:
Код

 Table1.Close;
 Table1.TableName:='igdiven.dbf';
 Table1.Exclusive:=True;
 Table1.Open;
 //Добавляю индекс по полю 'DATE_OGR_P'
 Table1.AddIndex('indDateOgrP','DATE_OGR_P',[ixCaseInsensitive]);
 //переводим набор данных из монопольного режима в нормальный
 Table1.Close;
 Table1.Exclusive:=False;
 Table1.Open;
 //Сортируем набор данных по полю 'DATE_OGR_P' по возрастанию
 Table1.IndexName:='indDateOgrP';


Не вижу, где указано, что здесь парадокс 7?
PM MAIL   Вверх
Deniz
Дата 28.10.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(Akella @  28.10.2009,  17:02 Найти цитируемый пост)
Не вижу, где указано, что здесь парадокс 7?
 smile 
Я и не говорил что там парадокс 7, это ты сделал такое предположение
Цитата(Akella @  28.10.2009,  13:31 Найти цитируемый пост)
а вдруг у него Paradox 7?
я наоборот предположил что у автора dBase из того, что в имя таблицы присваивается 'igdiven.dbf'.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 29.10.2009, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Deniz @ 28.10.2009,  12:04)
Цитата(Akella @  28.10.2009,  13:31 Найти цитируемый пост)
а вдруг у него Paradox 7?
а эта строчка в коде первого поста
Цитата(Slawanix @  27.10.2009,  17:35 Найти цитируемый пост)
Код
Table1.TableName:='igdiven.dbf';

Я подумал, что этим сообщением ты утверждаешь, что там парадокс 7

Добавлено через 1 минуту и 39 секунд
Цитата(Slawanix @ 27.10.2009,  15:49)
Создал индексы руками, сортировка работает smile . Но вопрос остается открытым. Несмотря на то, что это можно сделать и при помощи Query, все-таки хочется выяснить до конца - можно ли и как в run-time создавать индексы при помощи Table (BDE)? Принципиально smile

Я создавал программно через TTable индексы на парадокс 7. Без проблем. С DBF так не работал. Не было смысла использовать DBF, когда был парадокс 7.
PM MAIL   Вверх
Slawanix
Дата 30.10.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 29.7.2004
Где: г. Великие Луки

Репутация: нет
Всего: 1



Цитата(Deniz @ 28.10.2009,  07:21)
Цитата(Slawanix @  27.10.2009,  18:49 Найти цитируемый пост)
можно ли и как в run-time создавать индексы при помощи Table (BDE)?
можно, но ...
из справки
Код
dBASE tables do not support case-insensitive indexes at all.


Добавлено @ 06:22
Посмотри help по TTable.AddIndex

Справка рулит smile И правда нашел упоминание о том, что dbase совсем не поддерживает индексы с опцией [ixCaseInsensitive].
А я как раз с этой опцией и пытался создать. После выходных попробую и напишу - получилось или нет.  А впереди два дня отдыха smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0857 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.