Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вторичные индексы.


Sergey-ZZZ ©   (2002-04-15 11:08:00) 

Создаю таблицу программно не из Datebase Desktop. Не могу добавить вторичный индекс. Через Desktop все понятно, а здесь выдает не то что хочу. Вот мой кусок кода
{Создание базы по товарам}
if TableForCrate=nil then
TableForCrate := TTable.Create(nil);
with TableForCrate do
begin
DatabaseName:="Sklad";
TableName:= Form1.SaveDialog1.FileName + "Tov";
TableType:=ttParadox;
with FieldDefs do {Создать поля в базе }
begin
Add("CodTov", ftAutoInc, 0, false); {Код товара}
Add("Name", ftString, 25, false); {Наименование товара}
Add("GrupID", ftInteger, 0, false); {Категория товара}
Add("EdIzm", ftString, 15, false); {Еденица измерения}
Add("Upak", ftString, 25, false); {Упаковка}
Add("Netto", ftFloat, 0, false); {Нетто}
Add("Brutto", ftFloat, 0, false); {Брутто}
// Add("Gabar", ftString, 25, false); {Габариты}
Add("Proizv", ftString, 25, false); {Производитель}
Add("DateIzg", ftDate, 0, false); {Дата изготовления}
Add("DateReal", ftDate, 0, false); {Дата реализации}
Add("Cena", ftCurrency, 0, false); {Цена}
Add("Prim", ftString, 40, false); {Примечания}
end;
with IndexDefs do
begin
Add("","CodTov",[ixPrimary]);
end;
CreateTable;
{Добавляем вторичный индекс}
{Здесь мне нужно Maintained, но не получается}
AddIndex("GrupID", "GrupID", [ixNonMaintained]);
Close;
end;
if TableForCrate<>nil then
TableForCrate.Free;
TableForCrate := nil;


Sergey-ZZZ   (2002-04-15 11:27:00) [1]

Это единственное которое не ругнулось, в остальных случаях индекс не создается. В дальнейшем для связывания полей двух таблиц Master-Deteil нужен вторичный индекс не NonMaintained.
Мне нужно не через SQL.


Anatoly Podgoretsky   (2002-04-15 11:20:00) [2]

Sergey-ZZZ © (15.04.02 11:08)
Не ясно что хочешь и что не работает?
AddIndex("GrupID", "GrupID", []);


VAleksey   (2002-04-15 11:13:00) [3]

1) А зачем тогда указываешь ixNonMaintained если тебе нужен Maintained ?
2) Имя поля = Имя индекса ? Может здесь заморочка ?
3) Попробуй воспользоваться конструкцией SQL - CREATE INDEX


Наверх

Титульная страница Поиск, карта сайта Написать письмо