Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с сортировкой в TTable, BDE + Paradox 
:(
    Опции темы
Starfish
Дата 14.5.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.5.2008

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



Всем привет!
Очень нужна помошь с сортировкой в TTable. Это очень важно.
Есть локальная таблица Paradox, всего из нескольких полей. Опытным путем выяснил, что не получается сортировать ее через IndexName и IndexFieldNames, если в таблице нет не одного индексированного поля. Если с помощью Dtatabase Desktop в таблице создать ключевое поле, то можно программно создавать индексы и уничтожать их когда надо и все прекрасно сортируется.
Но дело в том, что мне нужно организовать создание такой таблицы в случае, если файл таблицы пропал куда-нибудь, т.е. предусмотреть такую ситуацию. Вот как я это делаю:
Код

try
  MainForm.Table1.Open;
  except
    on E: EDBEngineError do
    begin
      MessageDlg('Файл таблицы Table1 не найден.' + #13 +
                 'Будет создана новая таблица.', mtWarning,[mbYes], 0);
      QueryCreateTable := TQuery.Create(MainForm);
      with QueryCreateTable do
      begin
        SQL.Add('CREATE TABLE Table1 (');
        SQL.Add('IdNum INT PRIMARY KEY,');  // Как правильно сделать тут?
        SQL.Add('Surname CHAR(15),');
        SQL.Add('Name CHAR(15),');
        SQL.Add('Patronymic CHAR(15),');
        SQL.Add('PhoneNumber CHAR(10),');
        SQL.Add('MobileNumber CHAR(10),');
        SQL.Add('EMail CHAR(50),');
        SQL.Add('Note CHAR(50),');
        SQL.Add('Adress CHAR(100));');
        ExecSQL; 
      end;
      QueryCreateTable.Free;
      MainForm.Table1.Open;
    end;
  end;

При выполнении запроса получаю сообщение: exception class EDBEngineError with message 'Capability not supported'.
Что я делаю не верно в строчке для поля IdNum?
Можно ли вообще создать таким образом автоинкрементное ключевое поле?
Если нет подскажите пожалуйста, как это правильно реализовать? Потому, что очень хотелось бы чтобы таблицу можно было отсортировать по столбцу Surname, Name и т.д. и при этом у приложения была возможность самостоятельно создать эту таблицу в случае ее отсудствия.
Псевдоним локальный, если что.

Заранее, Огромное Спасибо.

Это сообщение отредактировал(а) Starfish - 14.5.2008, 21:05
PM MAIL   Вверх
vovk
Дата 8.9.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

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



Сначала создавай поля с описанием а потом Задавай индекс
т.е индекс в конце задавай 

Код

PRINARY KEY(имя поля)


по моему так
также индексы можно задавать уже имеющейся таблице

Код

CREATE INDEX  имя индекса ON таблица (имя поля1,...,имя поля n)


если поле одно то просто имя поля в скобках
вот типа того 
удалять индексы

Код

DROP INDEX "имя таблицы".имя индекса


если индекс первичный

Код

DROP INDEX "имя таблицы".PRIMARY


ессно при удалении таблица не должна использоватся больлше ни кем

вот вроде так, кажется всё правильно

ЗЫ:
перед использованием SQL компонента обнули... не уверен что имеет значение, но хуже точно не будет smile 

Это сообщение отредактировал(а) Rodman - 9.9.2008, 09:51
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0389 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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